加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

sql server特殊字符查询问题及ESCAPE的使用

发布时间:2020-12-12 02:15:14 所属栏目:MySql教程 来源:网络整理
导读:公司一个老项目,sql server的 模糊查询时,查询条件包含 [] ,然后查询结果就一直为空 查阅资料得知:如果 LIKE 模式中的转义符后面没有字符,则该模式无效并且 LIKE 返回 FALSE。如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作

公司一个老项目,sql server的

模糊查询时,查询条件包含 [] ,然后查询结果就一直为空

查阅资料得知:如果 LIKE 模式中的转义符后面没有字符,则该模式无效并且 LIKE 返回 FALSE。如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。这包括百分号 (%)、下划线 (_) 和左括号 ([) 通配符(如果它们包含在双括号 ([ ]) 中)。

?

下面讲下sql脚本检索中,检索特殊字符的方法

使用escape转义关键字的用法

CREATE TABLE test (info VARCHAR(50))
GO
INSERT INTO test
VALUES ('[web.]maomao365.com'),(web.maomao365.com)
GO

select * from test where info like %[web.]%'
---输出2行数据,like条件中[]被界定为包含

SELECT FROM test 
WHERE info LIKE  %[address.]%' 
-采用斜杠类似转义,但是转义失败,返回空数据行
go
LIKE %$[web.]%' ESCAPE $'


%@[web.]%@-采用escape 定义 @ $为以上sql脚本的转义字符

go

drop table test 

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读