sqlserver数据库,like后面有半角[字符就查不到数据?

sqlserver数据库,like后面有半角[字符就查不到数据?,第1张

sql的like语法里面 []有特殊含义,类似正则表达式的范围,比如[0-9]代表数字

解决方法一是比如[可以用[[]查到,另一方法是用转义

SELECT * from sampleTable where sampleData like '\[%' ESCAPE '\'

参考资料 网页链接

SQL Server数据库,在like语句中,默认没有转义字符的,故你这里的like语句中的字符串只要一个反斜杠就够了:

select * from table where name like '%D\F%'

而如果要使用转义字符,则用escape来指定,例如:

select * from table where name like '%D\\F%' escape '\'

日期字段在数据库中实际上是以一个浮点数的形式保存的,如果用= '2013-9-9',那么SQL会自动把'2013-9-9'转化为日期型的浮点数再跟数据库中的“日期”字段进行比较。而如果用like '2013-9-9',那么SQL就会按字符串进行比较了,而因为数据库中的“日期”字段实际上并不存在这样的字符串,所以就会找不到记录了。你可以百度一下SQL查询日期字段的方法,有几十种之多。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9980969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存