sql語句like的用法

2021-06-23 07:13:15 字數 1892 閱讀 4808

在sql結構化查詢語言中,like語句有著至關重要的作用。

like語句的語法格式是:select * from 表名 where 欄位名 like 對應值(子串),它主要是針對字元型字段的,它的作用是在乙個字元型字段列中檢索包含對應子串的。

假設有乙個資料庫中有個表table1,在table1中有兩個字段,分別是name和***二者全是字元型資料。現在我們要在姓名欄位中查詢以「張」字開頭的記錄,語句如下:

select * from table1 where name like "張*"

如果要查詢以「張」結尾的記錄,則語句如下:

select * from table1 where name like "*張"

這裡用到了萬用字元「*」,可以說,like語句是和萬用字元分不開的。下面我們就詳細介紹一下萬用字元。

匹配型別   模式

舉例 及 代表值 說明

多個字元 *

c*c代表cc,cbc,cbc,cabdfec等

它同於dos命令中的萬用字元,代表多個字元。

多個字元 %

%c%代表agdcagd等

這種方法在很多程式中要用到,主要是查詢包含子串的。

特殊字元

[*]a[*]a代表a*a

代替*單字元 ?

b?b代表brb,bfb等

同於dos命令中的?萬用字元,代表單個字元

單數字 #

k#k代表k1k,k8k,k0k

大致同上,不同的是代只能代表單個數字。

字元範圍

- [a-z]代表a到z的26個字母中任意乙個 指定乙個範圍中任意乙個  續上

排除 [!字元] [!a-z]代表9,0,%,*等 它只代表單個字元 

數字排除 [!數字] [!0-9]代表a,b,c,d等 同上 

組合型別 字元[範圍型別]字元 cc[!a-d]#代表ccf#等 可以和其它幾種方式組合使用

假設表table1中有以下記錄:

name                          ***

張小明              男

李明天       男

李a天       女

王5五       男

王清五           男

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

例1,查詢name欄位中包含有「明」字的。

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

例2,查詢name欄位中以「李」字開頭。

select * from table1 where name like '李*'

例3,查詢name欄位中含有數字的。

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

例4,查詢name欄位中含有小寫字母的。

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

例5,查詢name欄位中不含有數字的。

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

以上例子能列出什麼值來顯而易見。但在這裡,我們著重要說明的是萬用字元「*」與「%」的區別。

很多朋友會問,為什麼我在以上查詢時有個別的表示所有字元的時候用"%"而不用「*」?先看看下面的例子能分別出現什麼結果:

select * from table1 where name like *明*

select * from table1 where name like %明%

大家會看到,前一條語句列出來的是所有的記錄,而後一條記錄列出來的是name欄位中含有「明」的記錄,

所以說,當我們作字元型字段包含乙個子串的查詢時最好採用「%」而不用「*」,用「*」的時候只在開頭或者只在結尾時,而不能兩端全由「*」代替任意字元的情況下。

Sql語句中LIKE的巢狀用法詳解

oracle中sql語句like語句的語法格式是 select from 表名 where 欄位名 like 對應值 子串 例 查詢name欄位中含有 林 字的 select from 表名 where name like 林 但是,我此次like關鍵字後面的對應值是乙個變數,需要用select語句...

sql中like語句詳解

like 確定給定的字串是否與指定的模式匹配。模式可以包含常規字元和萬用字元字元。模式匹配過程中,常規字元必須與字串中指定的字元完全匹配。然而,可使用字串的任意片段匹配萬用字元。與使用 和 字串比較運算子相比,使用萬用字元可使 like 運算子更加靈活。如果任何引數都不屬於字串資料型別,micros...

Oracle常用sql語句 like

在where子句中,可以對datetime char varchar欄位型別的列用like子句配合萬用字元選取那些 很像 的資料記錄,以下是可使用的萬用字元 零或者多個字元 單一任何字元 下劃線 特殊字元 在某一範圍內的字元,如 0 9 或者 aeth 不在某範圍內的字元,如 0 9 或者 aeth...