六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

談談SQL查詢字段被包含語句問題

[摘要]說到SQL的模糊查詢,最先想到的,應該就是like關鍵字。當我們需要查詢包含某個特定字段的數據時,往往會使用 ‘%關鍵字%’ 查詢的方式。具體代碼示例大家參考下本文前言說到SQL的模糊查詢,最先想到...
說到SQL的模糊查詢,最先想到的,應該就是like關鍵字。當我們需要查詢包含某個特定字段的數據時,往往會使用 ‘%關鍵字%’ 查詢的方式。具體代碼示例大家參考下本文

前言

說到SQL的模糊查詢,最先想到的,應該就是like關鍵字。

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


SELECT ... FROM 表名 WHERE 字段名 LIKE '%關鍵字%'

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

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


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

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


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

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

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

CHARINDEX登場

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


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

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


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

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

了解了使用方法之后,我們就可以運用CHARINDEX關鍵字優化下我們的SQL語句:


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

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

對應的mybatis實現也相對簡潔


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

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

以上就是談談SQL查詢字段被包含語句問題的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 日韩成人免费aa在线看 | 亚洲欧美一区二区三区久久 | 天堂网在线最新版www中文网 | 欧美综合图片一区二区三区 | 人人澡天天澡夜夜澡 | 天天看夜夜操 | 日本欧美特黄特色大片 | 色噜噜狠狠色综合欧洲 | 亚洲日本免费 | 亚洲视频在线观看一区 | 四虎永久精品免费观看 | 星辰影院免费 | 日本aa网站 | 日本一区二区三区欧美在线观看 | 亚洲影视一区 | 日本大胆欧美人术艺术 | 色综合天天射 | 日本乱人伦片中文字幕三区 | 婷婷综合久久狠狠色99h | 性欧美xxxx性 | 四虎国产精品永久地址51 | 中文字幕第一页亚洲 | 人人插人人爽 | 天天搞天天色 | 日韩免费在线观看 | 天天综合天天做 | 午夜免费剧场 | 午夜在线观看免费观看大全 | 日韩毛片在线 | 日本午夜视频在线观看 | 亚洲第一视频网站 | 日韩欧美中国a v | 青青成人福利国产在线视频 | 日韩在线 中文字幕 | 婷婷伊人久久 | 午夜在线免费观看视频 | 一区精品麻豆入口 | 色久月| 日韩免费福利视频 | 啪在线视频 | 日韩亚洲欧美日本精品va |