最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL查詢之字段是逗號(hào)分隔開的數(shù)組如何查詢匹配數(shù)據(jù)問題

 更新時(shí)間:2023年03月06日 10:34:01   作者:江城撅嘴的川羌  
這篇文章主要介紹了SQL查詢之字段是逗號(hào)分隔開的數(shù)組如何查詢匹配數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

字段是逗號(hào)分隔開的數(shù)組如何查詢匹配數(shù)據(jù)

方式一:CHARINDEX***()*****

SELECT
?? ?*?
FROM
?? ?U_PUR1?
WHERE
?? ?CHARINDEX( ',' + '100306' + ',', ',' + DeptCode + ',' ) >0

匹配字符串開始位置的函數(shù) CHARINDEX(str1,str,[start])

CHARINDEX(str1,str,[start]) 函數(shù)返回子字符串 str1 在字符串 str 中的開始位置,start 為搜索的開始位置,如果指定 start 參數(shù),則從指定位置開始搜索;如果不指定 start 參數(shù)或者指定為0或者負(fù)值,則從字符串開始位置搜索。

方式二:WHERE LIKE

SELECT
?? ?*?
FROM
?? ?U_PUR1?
WHERE
?? ?',' + DeptCode + ',' LIKE '%,' + '100306' + ',%';

Where Like 的方式顯然更好理解一些,首先在字段收尾加上逗號(hào),這樣可以使得字段中每一個(gè)值都擁有完整的格式,再使用Like進(jìn)行模糊匹配時(shí),可以使首尾的值都能匹配到。

Mysql逗號(hào)分隔的字段查詢

在工作中,經(jīng)常會(huì)遇到一對(duì)多的關(guān)系,比如用戶和愛好。想要在mysql中保存這種關(guān)系,一般有兩種方式,一種是建立一張用戶愛好表user_hobby(user_id, hobby_id),這樣一條user_id就會(huì)存在多條記錄。

或者采用第二種方式,直接在用戶表中增加hobby_ids字段,將hobby_id拼接成用逗號(hào)分隔的字符串保存起來。

那么問題來了,如果采用第二種方式的話,查詢的時(shí)候要如何處理呢?下面介紹幾種常見的處理方式。

1.like

可能最新想到的是采用like的形式,如下:

select * from user where hobby_ids like '%1%';

這種方式是否可行呢? 行,但是有適用范圍,如果hobby_id在10以內(nèi),那么這么處理完全是可以的,但是一旦超過了10,那'%1%'就會(huì)把10,11,這些帶1的id全都匹配處理。

2.find_in_set

為了解決like存在的問題,還可以使用mysql提供的find_in_set(str, strlist),sql可以這樣寫:

select * from user where find_in_set('1', hobby_ids);

這樣mysql就會(huì)把hobby_ids的值,按照逗號(hào)分隔的一個(gè)個(gè)元素去匹配。如果我們要匹配多個(gè)值要怎么辦呢,比如查找喜歡1-籃球或2-足球的用戶,可以

select * from user where find_in_set('1', hobby_ids) or find_in_set('2', hobby_ids);?

如果匹配的值較多,我們可能要拼很長(zhǎng)的sql,那有沒有稍微簡(jiǎn)短的方式呢,我們可以采用下面的方式。

3.regexp

regexp是mysql提供的強(qiáng)大的正則匹配方式。上面的sql就可以改寫成:

select * from user where hobby_ids regexp '(^|,)(1|2)(,|$)';

這里是完全采用字符串正則匹配的方式,(1|2)表示匹配1或者2,(^|,)表示數(shù)字前面必須是字符串開頭或者是一個(gè)逗號(hào),(,|$)表示數(shù)字后面必須是逗號(hào)或者字符串的結(jié)尾。這樣就可以完整匹配逗號(hào)分隔的元素了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版)

    windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版)

    這篇文章主要介紹了windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版),需要的朋友可以參考下
    2016-04-04
  • MySQL和HBase的使用對(duì)比

    MySQL和HBase的使用對(duì)比

    MySQL和HBase是兩種不同的數(shù)據(jù)庫(kù),MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),支持事務(wù),而HBase是一個(gè)NoSQL數(shù)據(jù)庫(kù),支持海量數(shù)據(jù)的讀寫,MySQL適用于OLTP業(yè)務(wù),而HBase適用于OLAP業(yè)務(wù)
    2024-12-12
  • 小記一次mysql主從配置解決方案

    小記一次mysql主從配置解決方案

    mysql主從方案主要作用:讀寫分離,使數(shù)據(jù)庫(kù)能支撐更大的并發(fā)。在報(bào)表中尤其重要。由于部分報(bào)表sql語(yǔ)句非常的慢,導(dǎo)致鎖表,影響前臺(tái)服務(wù)。如果前臺(tái)使用master,報(bào)表使用slave,那么報(bào)表sql將不會(huì)造成前臺(tái)鎖,保證了前臺(tái)速度。
    2015-10-10
  • MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】

    MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】

    這篇文章主要介紹了MySQL外鍵約束常見操作方法,結(jié)合實(shí)例形式分析了mysql針對(duì)外鍵約束的查看、添加、修改、刪除等相關(guān)操作實(shí)現(xiàn)方法,需要的朋友可以參考下
    2018-05-05
  • 坑人的Mysql5.7問題(默認(rèn)不支持Group By語(yǔ)句)

    坑人的Mysql5.7問題(默認(rèn)不支持Group By語(yǔ)句)

    這篇文章主要介紹了坑人的Mysql5.7問題(默認(rèn)不支持Group By語(yǔ)句),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL中的回表和索引覆蓋示例詳解

    MySQL中的回表和索引覆蓋示例詳解

    索引覆蓋是一種避免回表查詢的優(yōu)化策略,具體的做法就是將要查詢的數(shù)據(jù)作為索引列建立普通索,下面這篇文章主要給大家介紹了關(guān)于MySQL中回表和索引覆蓋的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • weblogic服務(wù)建立數(shù)據(jù)源連接測(cè)試更新mysql驅(qū)動(dòng)包的問題及解決方法

    weblogic服務(wù)建立數(shù)據(jù)源連接測(cè)試更新mysql驅(qū)動(dòng)包的問題及解決方法

    WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫(kù)應(yīng)用的Java應(yīng)用服務(wù)器,這篇文章主要介紹了weblogic服務(wù)建立數(shù)據(jù)源連接測(cè)試更新mysql驅(qū)動(dòng)包,需要的朋友可以參考下
    2022-01-01
  • Mysql聯(lián)合查詢UNION和Order by同時(shí)使用報(bào)錯(cuò)問題的解決辦法

    Mysql聯(lián)合查詢UNION和Order by同時(shí)使用報(bào)錯(cuò)問題的解決辦法

    很多朋友剛使用聯(lián)合查詢UNION的時(shí)候常常會(huì)理所當(dāng)然的將聯(lián)合查詢理解為把沒一個(gè)子查詢的結(jié)果集組合成一個(gè)大的結(jié)果集
    2014-04-04
  • MySQL基于SSL協(xié)議進(jìn)行主從復(fù)制的詳細(xì)操作教程

    MySQL基于SSL協(xié)議進(jìn)行主從復(fù)制的詳細(xì)操作教程

    這篇文章主要介紹了MySQL基于SSL協(xié)議進(jìn)行主從復(fù)制的詳細(xì)操作教程,示例環(huán)境基于Linux系統(tǒng)以及OpenSSL客戶端,需要的朋友可以參考下
    2015-12-12
  • MySQL COUNT函數(shù)的使用與優(yōu)化

    MySQL COUNT函數(shù)的使用與優(yōu)化

    優(yōu)化COUNT函數(shù)的查詢?cè)?MySQL 中最容易被誤解的話題中能夠排進(jìn)前10名,我們可以在網(wǎng)上搜索了解更多關(guān)于 COUNT 優(yōu)化的誤解信息。在進(jìn)行優(yōu)化前,理解 COUNT 到底做了什么很重要。
    2021-05-05

最新評(píng)論

温州市| 磴口县| 察雅县| 定州市| 莒南县| 塔河县| 龙南县| 铜川市| 花莲县| 东平县| 鸡东县| 潜山县| 青川县| 贡嘎县| 五原县| 孝义市| 中宁县| 集贤县| 尉氏县| 昭通市| 乾安县| 甘谷县| 玛多县| 高雄县| 壶关县| 汝城县| 平原县| 宁南县| 枝江市| 松溪县| 平遥县| 郎溪县| 姚安县| 荃湾区| 涿州市| 黑龙江省| 米泉市| 青铜峡市| 绥芬河市| 乌什县| 会东县|