SQL |通配符运算符
先决条件: SQL | WHERE 子句 在上面提到的文章中,讨论了 WHERE 子句,其中也解释了 LIKE 运算符,现在让我们更深入地了解通配符一词。
通配符运算符与 LIKE 运算符一起使用,有四种基本运算符:
操作员 | 描述 |
---|---|
% | 它用于替代零个或多个字符。 |
_ | 它用于替代一个字符。 |
_ | 它用于替换一系列字符。 |
[字符范围] | 它用于获取括号内指定的匹配字符集或字符范围。 |
[^range_of_characters]或[!字符范围] | 它用于获取括号内指定的不匹配的字符集或字符范围。 |
基本语法:
SELECT column1,column2 FROM table_name WHERE column LIKE wildcard_operator;
column1 , column2: fields in the table
table_name: name of table
column: name of field used for filtering data
查询
-
To fetch records from Student table with NAME ending with letter ‘T’.
```sql SELECT * FROM Student WHERE NAME LIKE '%T';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 three SUJIT 罗塔克 XXXXXXXXXX Twenty three SUJIT 罗塔克 XXXXXXXXXX Twenty -
To fetch records from Student table with NAME ending any letter but starting from ‘RAMES’.
```sql SELECT * FROM Student WHERE NAME LIKE 'RAMES_';
```
输出:
2 rameshhgurgaonxxxxxxxxxx18
滚动 _ 否 名称 地址 PHONE 年龄 Two RAMESH 古尔冈 XXXXXXXXXX Eighteen -
To fetch records from Student table with address containing letters ‘a’, ‘b’, or ‘c’.
```sql SELECT * FROM Student WHERE ADDRESS LIKE '%[A-C]%';
```
输出:
2 rameshhgurgaonxxxxxxxxxx18
滚动 _ 否 名称 地址 PHONE 年龄 Two RAMESH 古尔冈 XXXXXXXXXX Eighteen Two RAMESH 古尔冈 XXXXXXXXXX Eighteen three SUJIT 罗塔克 XXXXXXXXXX Twenty three SUJIT 罗塔克 XXXXXXXXXX Twenty -
To fetch records from Student table with ADDRESS not containing letters ‘a’, ‘b’, or ‘c’.
```sql SELECT * FROM Student WHERE ADDRESS LIKE '%[^A-C]%';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 one 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 XXXXXXXXXX Eighteen four SURESH 德里 XXXXXXXXXX Eighteen -
To fetch records from Student table with PHONE field having a ‘9’ in 1st position and a ‘5’ in 4th position.
```sql SELECT * FROM Student WHERE PHONE LIKE '9__5%';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 one 随机存取存储器(random access memory 的缩写)ˌ随机访问内存(random-access memory 的缩写) 德里 XXXXXXXXXX Eighteen -
To fetch records from Student table with ADDRESS containing total of 6 characters.
```sql SELECT * FROM Student WHERE ADDRESS LIKE '______';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 three SUJIT 罗塔克 XXXXXXXXXX Twenty three SUJIT 罗塔克 XXXXXXXXXX Twenty -
To fetch records from Student table with ADDRESS containing ‘OH’ at any position, and the result set should not contain duplicate data.
```sql SELECT DISTINCT * FROM Student WHERE ADDRESS LIKE '%OH%';
```
输出:
滚动 _ 否 名称 地址 PHONE 年龄 three SUJIT 罗塔克 XXXXXXXXXX Twenty
本文由 Pratik Agarwal 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处