Access模糊查询问题

__天涯寻梦 2008-12-19 10:23:09
数据库里的记录是 [苏]BL-021A ,要写一条模糊查询的语句
"select * from Insider where ID like '%[" + txtNumber.Text + "]%'"
这样写查询整条就查不出来,如果是查询 L-0 这样还会报错,求教怎么写查询语句?
...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
__天涯寻梦 2008-12-19
  • 打赏
  • 举报
回复
"select * from Insider where ID like '%" + txtNumber.Text.Replace("[", "[[]") + "%'"

我这样写也OK了
aniudage 2008-12-19
  • 打赏
  • 举报
回复
上面的说法很对.支持
pt1314917 2008-12-19
  • 打赏
  • 举报
回复
原因:因为[和]是SQL里面的关键字,所以需要使用escape进行转义。
解决办法:将txtNumber.Text 里面的[替换为a[ ,然后把 ]替换为a]

查询语句这样写:
"select * from Insider where ID like '%" + txtNumber.Text + "%' escape 'a'"
__天涯寻梦 2008-12-19
  • 打赏
  • 举报
回复
就是查询 [苏]BL-021A 中任意几个连续的字符都要能查出这条记录来,起码把这段字符都写进去要能查出这条记录来
__天涯寻梦 2008-12-19
  • 打赏
  • 举报
回复
不用[],查询 [ 就报错
pt1314917 2008-12-19
  • 打赏
  • 举报
回复
楼主想查出什么?这样?

--> 测试数据: s
create table s(ee varchar(11))
insert into s
select '[苏]BL-021A' union all
select '['

select * from s where ee like '%a[%a]%' escape 'a'

JeffChung 2008-12-19
  • 打赏
  • 举报
回复
不要中括号[]试试

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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