麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL查詢字段被包含語句

2024-08-31 01:05:00
字體:
供稿:網(wǎng)友

前言

說到SQL的模糊查詢,最先想到的,應(yīng)該就是like關(guān)鍵字。

當我們需要查詢包含某個特定字段的數(shù)據(jù)時,往往會使用 ‘%關(guān)鍵字%' 查詢的方式。例如:

SELECT ... FROM 表名 WHERE 字段名 LIKE '%關(guān)鍵字%'

這應(yīng)該可以算是一種典型的”包含XXX”的方式,但如果我們需要查詢字段被包含于特定字符的數(shù)據(jù)時呢?

比如,我有一張聯(lián)系人數(shù)據(jù)表ConnectName,其中有個字段用于記錄姓名name。我想獲取名為小蘭和灰原的人的聯(lián)系資料。正常情況下,我們首先能想到的做法應(yīng)該是:

SELECT * FROM ConnectName WHERE  name = '小蘭'  OR name = '灰原'

這樣的做法是可以實現(xiàn)這種目的的。如果這時候,我突然想,再查一個人,比如說“柯南”,那么我們就要修改SQL的結(jié)構(gòu),添加一個Where條件句:

SELECT * FROM ConnectName WHERE  name = '小蘭'  OR name = '灰原'  OR name = '柯南'

我們知道,OR條件查詢本身是屬于效率較低的,而且結(jié)構(gòu)變動的語句在MyBatis實現(xiàn)稍微麻煩些(當然也是可以實現(xiàn)的,遍歷插入字段就行了)。

能不能簡單一些呢?我可以把所有關(guān)鍵字放在一起,只用一個Where條件去實現(xiàn)嗎?

CHARINDEX登場

這時候,我們就可以用 CHARINDEX 關(guān)鍵字了,CHARINDEX可以返回某個字段在一串文字中出現(xiàn)的位置,跟String的indexOf用法類似,不多廢話,我們來舉個栗子:

CHARINDEX('李白','曹操很帥') =0

在上面的栗子中,因為曹操很帥不包含李白關(guān)鍵字,所以找不到,返回0.

CHARINDEX('李白','李白很帥') =1

同樣的栗子,因為包含里李白關(guān)鍵字,會返回關(guān)鍵字所在的開頭第一個字的索引,所以返回1.

了解了使用方法之后,我們就可以運用CHARINDEX關(guān)鍵字優(yōu)化下我們的SQL語句:

SELECT * FROM ConnectName WHERE  CHARINDEX(name ,'小蘭灰原柯南')>0

如果name字段對應(yīng)的名字在 ‘小蘭灰原柯南' 中出現(xiàn),那么CHARINDEX函數(shù)就會返回大于1,就可以得到我們想要的數(shù)據(jù)啦(他們3個人也可以在一起愉快的玩耍咯^-^)

對應(yīng)的mybatis實現(xiàn)也相對簡潔

SELECT * FROM ConnectName WHERE  <!--[CDATA[ AND CHARINDEX(name ,#{傳入的參數(shù)}) --> 0 ]]>

如果后期我們想要加入一個新的人,比如毛利小五郎,只需要在傳入的參數(shù)中加入 ‘小蘭灰原柯南毛利小五郎' 就可以了,是不是簡單了許多呢?

以上所述是小編給大家介紹的SQL字段的被包含查詢語句,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!


注:相關(guān)教程知識閱讀請移步到MSSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品亚洲午夜久久久久91 | 黄色大片在线观看 | 久久另类视频 | 91成人在线免费视频 | 日韩视频在线不卡 | 久久久久91视频 | 日日鲁一鲁视频 | 中国性xxx | 天天舔夜夜操 | 激情九九| 一级毛片在线看 | 国语自产免费精品视频在 | 欧美一级视屏 | 色播久久| 中文字幕在线成人 | 欧美乱码精品一区 | 手机国产乱子伦精品视频 | 成人视屏在线观看 | 极品大长腿啪啪高潮露脸 | 草草久久久| 黄色高清视频网站 | 日日狠狠久久 | www.guochan | 国产在线91 | 九九看片 | 黄色电影免费网址 | chinese-xvideos| 一级黄色片武则天 | 一级做受毛片免费大片 | 亚洲午夜不卡 | 国产精品午夜未成人免费观看 | 国产精品午夜未成人免费观看 | 国产精品99免费视频 | 国产精品久久久久久久午夜片 | 亚洲人成电影在线 | 久久99国产精品久久 | 亚洲综合精品 | 免费a观看| 92看片淫黄大片一级 | 国产高潮国产高潮久久久91 | 亚洲综合网站 |