日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

数据库-SQL中like的用法

發(fā)布時(shí)間:2025/7/14 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库-SQL中like的用法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

SQL結(jié)構(gòu)化查詢語言中,LIKE語句有著至關(guān)重要的作用。


  LIKE語句的語法格式是:select * from 表名 where?字段名?like?對應(yīng)值(子串),它主要是針對字符型字段的,它的作用是在一個(gè)字符型字段列中檢索包含對應(yīng)子串的。


  假設(shè)有一個(gè)數(shù)據(jù)庫中有個(gè)表table1,在table1中有兩個(gè)字段,分別是name和sex二者全是字符型數(shù)據(jù)。現(xiàn)在我們要在姓名字段中查詢以“張”字開頭的記錄,語句如下:
?????select * from table1 where name?like?"張*"


?????如果要查詢以“張”結(jié)尾的記錄,則語句如下:
  ?select * from table1 where name?like?"*張"


?????這里用到了通配符“*”,可以說,like語句是和通配符分不開的。下面我們就詳細(xì)介紹一下通配符。

匹配類型模式舉例及代表值說明
多個(gè)字符*c*c代表cc,cBc,cbc,cabdfec等它同于DOS命令中的通配符,代表多個(gè)字符。
多個(gè)字符%%c%代表agdcagd等這種方法在很多程序中要用到,主要是查詢包含子串的。
特殊字符[*]a[*]a代表a*a代替*
單字符?b?b代表brb,bFb等同于DOS命令中的?通配符,代表單個(gè)字符
單數(shù)字#k#k代表k1k,k8k,k0k大致同上,不同的是代只能代表單個(gè)數(shù)字。
字符范圍-[a-z]代表a到z的26個(gè)字母中任意一個(gè)指定一個(gè)范圍中任意一個(gè)
排除[!字符][!a-z]代表9,0,%,*等它只代表單個(gè)字符
數(shù)字排除[!數(shù)字][!0-9]代表A,b,C,d等它只代表單個(gè)字符
組合類型字符[范圍類型]字符cc[!a-d]#代表ccF#等可以和其它幾種方式組合使用

?

假設(shè)表table1中有以下記錄:

     name????????????sex

?????????????張小明    男

    李明天    男

    李天     ? ?女

    王五     ? ?男

    王清五    男

?

下面我們來舉例說明一下:

  • 例1,查詢name字段中包含有“明”字的。

      select * from table1 where name?like?'%明%'

  • 例2,查詢name字段中以“李”字開頭。

      select * from table1 where name?like?'李*'

  • 例3,查詢name字段中含有數(shù)字的。

      select * from table1 where name?like?'%[0-9]%'

  • 例4,查詢name字段中含有小寫字母的。

      select * from table1 where name?like?'%[a-z]%'

  • 例5,查詢name字段中不含有數(shù)字的。

  select * from table1 where name?like?'%[!0-9]%'

以上例子能列出什么值來顯而易見。但在這里,我們著重要說明的是通配符“*”與“%”的區(qū)別。

?

?

  很多朋友會問,為什么我在以上查詢時(shí)有個(gè)別的表示所有字符的時(shí)候用"%"而不用“*”?先看看下面的例子能分別出現(xiàn)什么結(jié)果:

  select * from table1 where name?like?'*明*'

???????select * from table1 where name?like?'%明%'

?

  大家會看到,前一條語句列出來的是所有的記錄,而后一條記錄列出來的是name字段中含有“明”的記錄,所以說,當(dāng)我們作字符型字段包含一個(gè)子串的查詢時(shí)最好采用“%”而不用“*”,用“*”的時(shí)候只在開頭或者只在結(jié)尾時(shí),而不能兩端全由“*”代替任意字符的情況下。

?

轉(zhuǎn)載于:https://my.oschina.net/Clarences/blog/895073

總結(jié)

以上是生活随笔為你收集整理的数据库-SQL中like的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。