模糊查询问题

丈八涯 2014-08-01 10:01:34
查询
SELECT [FileNo] FROM [Document] where FileNO = '黑教财字[2005]1号'
可以查到一条记录。
而是用
SELECT [FileNo] FROM [Document] where FileNO like '%黑教财字[2005]1号%'
则查询不到,怀疑是由于字段值中含[ ] 的原因。
这种情况是否只能使用replace来进行替换处理?
对于关键字"[ ]","%","_"替换语句或函数应该怎么写?
...全文
181 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
丈八涯 2014-08-01
  • 打赏
  • 举报
回复
暂时用下面语句: SELECT [FileNo] FROM [Document] where [FileNo] like '%' + replace(replace(replace('黑教财字[2005]1号','[','/['),'%','/%'),'_','/_') + '%' ESCAPE '/'
霜寒月冷 2014-08-01
  • 打赏
  • 举报
回复
try this

select 1 where '黑教财字[2005]1号' like '黑教财字[[]%'
發糞塗牆 2014-08-01
  • 打赏
  • 举报
回复
ESCAPE对[]转移
xdashewan 2014-08-01
  • 打赏
  • 举报
回复
用ESCAPE转义通配符,就行了
shixitong 2014-08-01
  • 打赏
  • 举报
回复
SQL转义了 把[改为[ [ ] ]改为[ ] ]

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧