数据库——SQL中like与通配符的使用
like语法的格式是:select * from 表名 where 字段名 like 对应值(子串)
常见的通配符有%、_、[ ]、*、[^]、-、?、#、[!]等,使用时用单引号。
下表显示了使用 LIKE 关键字和 [ ] 通配符的示例
| 符号 | 含义 |
|---|---|
| LIKE ‘5[%]’ | %5 |
| LIKE ‘[_]n’ | _n |
| LIKE ‘[a-cdf]’ | a,b,c,d或f |
| LIKE ‘[-acdf]’ | -,a,c,d或f |
| LIKE ‘[ [ ]’ | [ |
| LIKE ‘]’ | ] |
| LIKE ‘abc[_]d%’ | abc_d和abc_de |
| LIKE ‘abc[def]’ | abcd、abce 和 abcf |
举例:
LIKE ‘_u’ –选取名字的第一个字符之后是 “u” 的人Xu
LIKE ‘Ad%’ –Ad开头
LIKE ‘%[fk]%’ –包含f或者k
LIKE ‘[m-o]%’ –以m,n,o开头
LIKE ‘a[^d]%’ –以a开头,第二个字母不为d
以下是常见通配符及说明:
| 通配符 | 描述 |
|---|---|
| % | 替代零个或多个字符 |
| _(下划线) | 替代单个字符 |
| [ ] | 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符 |
| [^] | 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符 |
还有其他常见的通配符:
| 通配符 | 含义 | 举例 |
|---|---|---|
| * | 多个字符,它同于DOS命令中的通配符,代表多个字符 | c*c代表cc,cBc,cbc,cabdfec等 |
| [*] | 特殊字符,代替* | a[*]a代表a*a |
| ? | 同于DOS命令中的?通配符,代表单个字符 | b?b代表brb,bFb等 |
| # | 只能代表单个数字 | k#k代表k1k,k8k,k0k |
| [!字符] | 字符排外 | [!a-z]代表9,0,%,*等 |
| [!数字] | 数字排外 | [!0-9]代表A,b,C,d等 |
| - | 指定一个范围中任意一个 | [a-z]代表a到z的26个字母中任意一个 |
| 字符[范围类型]字符 | 组合类型 | 可和其他几种方式组合使用 |