在搜索数据库中的数据时,SQL通配符可以代替一个或多个字符。
SQL通配符必须与LIKE运算符一起使用。
在SQL中,可使用一下通配符:
通配符 | 描述 |
---|---|
% | 代替一个或多个字符 |
_ | 仅代替一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] | 不在字符列中的任何单一字符 |
[!charlist] | 不在字符列中的任何单一字符 |
CAR表:
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
LJCPCBLCX14500264 | Ford | Focus | 8000 | 2005 |
WPOZZZ79ZTS372128 | Ford | Fusion | 10000 | 2008 |
JF1BR93D7BG498281 | Toyota | Avensis | 10000 | 1999 |
KLATF08Y1VB363636 | Volkswagen | Golf | 3000 | 1992 |
1M8GDM9AXKP042788 | Volkswagen | Golf | 10000 | 2010 |
1HGCM82633A004352 | Volkswagen | Jetta | 6000 | 2003 |
1G1YZ23J9P5800003 | Fiat | Punto | 6000 | 1999 |
GS723HDSAK2399002 | Opel | Corsa | 89000.00 | 2007 |
LP859CCSRH5555963 | Toyota | Avensis | 12000.00 | 2009 |
LP859CCSRH5555962 | Opel | Punto | 13000.00 | 2012 |
使用%通配符
- 例子1
从car表中取出以Vo开头的品牌
SELECT * FROM CAR WHERE BRAND LIKE 'Vo%'
结果
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
KLATF08Y1VB363636 | Volkswagen | Golf | 3000 | 1992 |
1M8GDM9AXKP042788 | Volkswagen | Golf | 10000 | 2010 |
1HGCM82633A004352 | Volkswagen | Jetta | 6000 | 2003 |
使用_通配符
- 例子 1
从car表中选取第一个字符之后是(BRAND)“ord”的这车:
SELECT * FROM CAR WHERE BRAND LIKE '_ord'
结果:
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
LJCPCBLCX14500264 | Ford | Focus | 8000 | 2005 |
WPOZZZ79ZTS372128 | Ford | Fusion | 10000 | 2008 |
- 例子2
选取出T?y?ta(BRAND)的车
SELECT * FROM CAR WHERE BRAND LIKE 'T_y_ta'
结果:
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
JF1BR93D7BG498281 | Toyota | Avensis | 10000 | 1999 |
LP859CCSRH5555963 | Toyota | Avensis | 12000.00 | 2009 |
使用[charlist]通配符
- 例子1
选取出以F和O开头的BRAND的车:
SELECT * FROM CAR WHERE BRAND LIKE '[FO]%'
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
LJCPCBLCX14500264 | Ford | Focus | 8000 | 2005 |
WPOZZZ79ZTS372128 | Ford | Fusion | 10000 | 2008 |
GS723HDSAK2399002 | Opel | Corsa | 89000.00 | 2007 |
LP859CCSRH5555962 | Opel | Punto | 13000.00 | 2012 |
- 例子 2
选取car表中不以F或O开头的:
SELECT * FROM CAR WHERE BRAND LINKE '[!FO]%'
结果
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
JF1BR93D7BG498281 | Toyota | Avensis | 10000 | 1999 |
KLATF08Y1VB363636 | Volkswagen | Golf | 3000 | 1992 |
1M8GDM9AXKP042788 | Volkswagen | Golf | 10000 | 2010 |
1HGCM82633A004352 | Volkswagen | Jetta | 6000 | 2003 |
LP859CCSRH5555963 | Toyota | Avensis | 12000.00 | 2009 |