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所有的用法
Like的運用場合主要在模糊查詢的時候,一般以查詢字符串居多,這里據一些例子來說他的一般用法:
例1,查詢name字段中包含有“明”字的。
select * from table1 where name like '%明%'
這里不要使用*來代替,一般在使用0個或者任意個字符構成的字符串的時候最好使用%
不過在首或尾使用可以相互替換,如果在頭尾同時使用的話,就必須要使用%
例2,查詢name字段中以“李”字開頭。
select * from table1 where name like '李*'
或者
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]%'
補充一點,?或者_表示單個字符
轉載請注明出處華閱文章網 » likesql語句%