数据库中通配符的应用

前几天看了CSDN专家,水哥的SQL入门之通配符。感觉收获颇丰!学习了一下

通配符”[^]”作用與”[]”相反 用於匹配沒有在方括號中列出的字符

 SELECT s_no as 学号,

       s_name 姓名,

       s_sex 性别 ,

       s_birthday 年龄 ,

       s_speciality 专業,

       s_avgrade 平均成绩 ,

       s_dept 系别

FROM student --依然使用上節目的數據表student

WHERE s_no like '2006020[^134]'

以上查詢學好尾數不是134的學生

等價語句為

WHERE s_no NOT like '2006020[134]

同時語句

WHERE s_no not like '2006020[^134]'

與下面語句等價

WHERE s_no like '2006020[134]'

使用關鍵字Escape定義轉義字符

如果列值中包含”%”,”_”,”[]”,”[^]”等字符時候可以用ESCAPE定義轉義字符的功能來實現對此類字符的查詢。

ESCAPE的作用就是將一個字符定義為轉義字符,格式如下:

Like 's1Xts2' escape 'X'

以上t是某一個通配符,s1和s2可以是任意的字符串(含通配符),其作用是將字符X定義成轉義字符,執行時DBMS將字符's1Xts2'中的通配符t作為實際值處理,從而使得t失去通配符的作用

上面的語句

SELECT s_no 学号,

       s_name 姓名,

       s_sex 性别 ,

       s_avgrade 平均成绩 ,

       s_dept 系别 FROM student2

WHERE s_dept LIKE '%[%]%'

等價於下面語句

SELECT s_no 学号,

       s_name 姓名,

       s_sex 性别 ,

       s_avgrade 平均成绩 ,

       s_dept 系别 FROM student2

WHERE s_dept LIKE '%X%%'escape 'X'

同樣查詢包含”[^]”可以這樣

WHERE s_dept LIKE '%X[^]%'escape 'X'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值