當前位置:首頁 » 編程語言 » sql的like和relike
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql的like和relike

發布時間: 2022-08-12 13:57:29

sql中like的用法

LIKE是另一個在WHERE子句中會用到的指令。基本上,LIKE能讓我們依據一個套(pattern) 來找出我們要的資料。相對來說,在運用IN的時候,我們完全地知道我們需要的條件;在運用BETWEEN的時候,我們則是列出一個范圍。LIKE的語法如下:

❷ SQL語句 SELECT LIKE like用法

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

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

select * from table1 where name like "張*"

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

select * from table1 where name like "*張"

這里用到了通配符「*」,可以說,like語句是和通配符分不開的。

❸ SQL語句 LIKE的用法

像這樣寫
select a.* from tabA a,tabB b where a.col like '%'+b.col1+'%'

❹ sql 中 like 語句的用法

測試表.
CREATE TABLE test_like (
like_value VARCHAR(20)
);

INSERT INTO test_like
SELECT '1234567890' UNION ALL
SELECT '12345' UNION ALL
SELECT 'abca' UNION ALL
SELECT 'adcb' UNION ALL
SELECT 'abcc' UNION ALL
SELECT 'abcd' UNION ALL
SELECT 'abcde' UNION ALL
SELECT 'xyz 10% OFF' UNION ALL
SELECT 'xyz 20% OFF' UNION ALL
SELECT 'xyz_123_abc'

_ 表示僅僅匹配1個字元
SELECT
*
FROM
test_like
WHERE
like_value LIKE '1234_';
like_value
--------------------
12345
(1 行受影響)

% 表示僅僅匹配0個或多個字元
SELECT
*
FROM
test_like
WHERE
like_value LIKE '12345%';
like_value
--------------------
1234567890
12345
(2 行受影響)

使用模式匹配
SELECT
*
FROM
test_like
WHERE
like_value LIKE 'abc[ad]';
like_value
--------------------
abca
abcd
(2 行受影響)

SELECT
*
FROM
test_like
WHERE
like_value LIKE '[1a]%[5e]';
like_value
--------------------
12345
abcde
(2 行受影響)

使用 ESCAPE 定義轉義符
SELECT
*
FROM
test_like
WHERE
like_value LIKE '%!%%' ESCAPE '!';
like_value
--------------------
xyz 10% OFF
xyz 20% OFF
(2 行受影響)

SELECT
*
FROM
test_like
WHERE
like_value LIKE '%!_%' ESCAPE '!';
like_value
--------------------
xyz_123_abc

(1 行受影響)

❺ SQL like用法

select * from master where substring(au_ID,1,2)<='03'

❻ 在sql語句中,like所有的用法

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

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

A:% 包含零個或多個字元的任意字元串:

1、like'Mc%' 將搜索以字母 Mc 開頭的所有字元串(如 McBadden)。

2、like'%inger' 將搜索以字母 inger 結尾的所有字元串(如 Ringer、Stringer)。

3、like'%en%' 將搜索在任何位置包含字母 en 的所有字元串(如 Bennet、Green、McBadden)。

B:_(下劃線) 任何單個字元:

like'_heryl' 將搜索以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。

C:[ ] 指定范圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個字元:

1,like'[CK]ars[eo]n' 將搜索下列字元串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

2、like'[M-Z]inger' 將搜索以字元串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。

D:[^] 不屬於指定范圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字元:

like'M[^c]%' 將搜索以字母 M 開頭,並且第二個字母不是 c 的所有名稱(如MacFeather)。

E:* 它同於DOS命令中的通配符,代表多個字元:

c*c代表cc,cBc,cbc,cabdfec等多個字元。

F:?同於DOS命令中的?通配符,代表單個字元 :

b?b代表brb,bFb等

G:# 大致同上,不同的是代只能代表單個數字。k#k代表k1k,k8k,k0k 。

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

例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語句

like後面的匹配字元不加通配符 % 的話就跟 = 是一樣的。