SQL语句 SELECT LIKE用法详解
在【zài】SQL结构化【jié gòu huà】查询语【chá xún yǔ】言中【yán zhōng】🥝,LIKE语句有着至关【zhe zhì guān】🚠重要的💷作用。
LIKE语句的语法格❎式是:select * from 表名🥡 where 字段名🖕 like 对应值(子串),它主要🈶是针对字符型【zì fú xíng】🍝字段的【zì duàn de】,它的作用是在【zài】一个字🍓符型字【fú xíng zì】段列中【duàn liè zhōng】检索包含对应子串的。
A:% 包含零🌐个或多个字符的任意【de rèn yì】字符串【zì fú chuàn】🆚:
1、LIKE'Mc%' 将搜索【jiāng sōu suǒ】以字母【yǐ zì mǔ】😃 Mc 开头的💂所有字【suǒ yǒu zì】符串🕍(如【rú】⛷ McBadden)。
2、LIKE'%inger' 将搜索【jiāng sōu suǒ】以字母【yǐ zì mǔ】😃 inger 结尾的所有字【suǒ yǒu zì】符串🕍(如【rú】⛷ Ringer、Stringer)。
3、LIKE'%en%' 将搜索【jiāng sōu suǒ】在任何【zài rèn hé】位置包含字母【hán zì mǔ】🛴 en 的所有字【suǒ yǒu zì】符串🕍(如【rú】⛷ Bennet、Green、McBadden)。
B:_(下划线) 任何单【rèn hé dān】🗾个字符:
LIKE'_heryl' 将搜索【jiāng sōu suǒ】以字母 heryl 结尾的所有六【suǒ yǒu liù】🚻个字母的名称👢(如【rú】💄 Cheryl、Sheryl)。
C:[ ] 指定范【zhǐ dìng fàn】围【wéi】 ([a-f]) 或集合🔪 ([abcdef]) 中的任何单个🐦字符:
1,LIKE'[CK]ars[eo]n' 将搜索【jiāng sōu suǒ】👻下列字符串【chuàn】🕕:Carsen、Karsen、Carson 和 Karson(如【rú】😅 Carson)。
2、LIKE'[M-Z]inger' 将搜索【jiāng sōu suǒ】👻以字符【yǐ zì fú】串【chuàn】🕕 inger 结尾、以从🐐 M 到 Z 的任何单个字母开头【mǔ kāi tóu】🥋的所有【de suǒ yǒu】🍔名称(如【rú】😅 Ringer)。
D:[^] 不属于【bú shǔ yú】指定范【zhǐ dìng fàn】🚣围🥩 ([a-f]) 或集合【huò jí hé】 ([abcdef]) 的任何单个字符📝:
LIKE'M[^c]%' 将搜索【jiāng sōu suǒ】以字母 M 开头📓,并且第🐸二个字【èr gè zì】母不是 c 的所有【de suǒ yǒu】名称(如🐭MacFeather)。
E:* 它同于DOS命令中的通配【de tōng pèi】⛵符,代表多【dài biǎo duō】个字符🚷:
c*c代表【dài biǎo】🐴cc,cBc,cbc,cabdfec等多个字符。
F:?同于🐁DOS命令中🕺的🥞?通配符【tōng pèi fú】,代表【dài biǎo】😉单个字【dān gè zì】符【fú】 :b?b代表【dài biǎo】😉brb,bFb等💾
G:# 大致同上,不同的🥠是代只【shì dài zhī】能代表【dài biǎo】😉单个数【dān gè shù】字【zì】。k#k代表【dài biǎo】😉k1k,k8k,k0k 。
F:[!] 排除 它只代表【dài biǎo】😉单个字【dān gè zì】符【fú】
下【xià】🔢面我们来举例【lái jǔ lì】说【shuō】明【míng】🚹一下【yī xià】🔢:
例【lì】🤛1,查询【chá xún】🤤name字段中【zì duàn zhōng】✂包含有【hán yǒu】“明【míng】💣”字的【zì de】🕝。
select * from table1 where name like '%明【míng】💣%'
例【lì】🤛2,查询【chá xún】🤤name字段中【zì duàn zhōng】✂以【yǐ】🙈“李【lǐ】📊”字开头。
select * from table1 where name like '李【lǐ】📊*'
例【lì】🤛3,查询【chá xún】🤤name字段中【zì duàn zhōng】✂含有【hán yǒu】数🧥字的【zì de】🕝。
select * from table1 where name like '%[0-9]%'
例【lì】🤛4,查询【chá xún】🤤name字段中【zì duàn zhōng】✂含有【hán yǒu】小写字母的。
select * from table1 where name like '%[a-z]%'
例【lì】🤛5,查询【chá xún】🤤name字段中【zì duàn zhōng】✂不含有【hán yǒu】数🧥字的【zì de】🕝。
select * from table1 where name like '%[!0-9]%'
以【yǐ】🙈上例【shàng lì】🤛子能列💛出什么🥢值来显🎃而易见【ér yì jiàn】。但在这里,我们着【wǒ men zhe】重要说【shuō】明【míng】💣的是【shì】🔉通配符“*”与【yǔ】“%”的区别。
很多朋友会问【yǒu huì wèn】,为什么🚑我在以【yǐ】🙈上查询【chá xún】🤤时有个【shí yǒu gè】别的表示所有【shì suǒ yǒu】🍰字符的🙊时候用【yòng】🚓"%"而不用【yòng】🥣“*”?先看看【xiān kàn kàn】下【xià】🔢面的例【lì】🤛子能分别出现【bié chū xiàn】什么结【shí me jié】果【guǒ】📝:
select * from table1 where name like '*明【míng】💣*'
select * from table1 where name like '%明【míng】💣%'
大家会看到【kàn dào】,前一条语句列出来的是【shì】🔉所有的【suǒ yǒu de】记录【jì lù】🚏,而后一🕹条记录【tiáo jì lù】列出来的是【shì】🔉name字段中【zì duàn zhōng】✂含有【hán yǒu】“明【míng】💣”的记录【de jì lù】🚏,所以【yǐ】🙈说【shuō】,当我们作字符🔣型字段包含一个子串【gè zǐ chuàn】的查询【chá xún】🤤时最好采用【yòng】🌨“%”而不用【yòng】🥣“*”,用【yòng】“*”的时候🌞只在开头或者🔓只在结尾时【wěi shí】,而不能♿两端全由“*”代替任意字符🧟的情况【de qíng kuàng】下【xià】🔢。
关键词:SQL语句【yǔ jù】🎠,SELECT,LIKE
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0