sqlserver c# 模糊查询问题

seanhsueh 2013-12-30 10:36:52
发现奇怪的问题
通过c#连接sqlserver,个别字不能模糊查询
查询"*** where a like '%孙%',查询不到

查询"*** where a like '%李%',能够返回记录

在enterprisemanager查询都没有问题,都能返回数据
用c#查询就有些能查到,有些查不到?
...全文
193 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-12-30
  • 打赏
  • 举报
回复
建议你先批量更新a列的数据成为统一的类型
seanhsueh 2013-12-30
  • 打赏
  • 举报
回复
谢谢大家,结贴了
LongRui888 2013-12-30
  • 打赏
  • 举报
回复
引用 3 楼 seanhsueh 的回复:
OK,可以了,为什么呢?
引用 2 楼 DBA_Huangzj 的回复:
where a like N'%孙%'这样呢?
这个加了N就是unicode,双字节,因为你的a字段应该是nvarchar的,所以必须要匹配
發糞塗牆 2013-12-30
  • 打赏
  • 举报
回复
你的a字段类型为nchar/nvarchar,而你某些数据存进去的时候没有带上N比如 insert into tb(a) values('孙') insert into tb(a) values(N'李') 这样孙就找不出来,说白了是类型转换的问题
seanhsueh 2013-12-30
  • 打赏
  • 举报
回复
OK,可以了,为什么呢?
引用 2 楼 DBA_Huangzj 的回复:
where a like N'%孙%'这样呢?
發糞塗牆 2013-12-30
  • 打赏
  • 举报
回复
where a like N'%孙%'这样呢?
IEEE_China 2013-12-30
  • 打赏
  • 举报
回复
C# 还挑食么

22,209

社区成员

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

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