| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3086 人关注过本帖, 1 人收藏
标题:SQL模糊查询中文问题(高手进)
只看楼主 加入收藏
lzm
Rank: 1
来 自:广东
等 级:新手上路
帖 子:156
专家分:0
注 册:2007-9-2
结帖率:33.33%
收藏(1)
已结贴  问题点数:20 回复次数:2 
SQL模糊查询中文问题(高手进)
我们在中文版本进行模糊查询时
用select * from students where Name like '%张三%'  查询正确
我们在英文版本进行模糊查询时
用select * from students where Name like N'%张三%'  查询正确


我们要把查询条件变成变量时-中文版数据库
Declare @name nvarchar(20) = '张三'
用select * from students where Name like '%' + @name + '%'  查询正确

在英文版的数据库里
Declare @name nvarchar(20) = '张三'
用select * from students where Name like N'%' + @name + '%'  查询不出数据

那位高手知道这种情况应该怎么写呢?
2016-10-27 09:33
lzm
Rank: 1
来 自:广东
等 级:新手上路
帖 子:156
专家分:0
注 册:2007-9-2
收藏
得分:0 
问题已解决,感谢大家
正确写法
在英文版的数据库里
Declare @name nvarchar(20) = N'张三'
用select * from students where Name like '%' + @name + '%'  查询正确

类型一定要用nvarchar(20) 而varchar(20)是不行的
关键是 在赋值时一定要用 类型nvarchar(20),并且赋值时一定要加N,也就是Declare @name nvarchar(20) = N'张三'
2016-10-27 09:58
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:20 
自己解决了,这真是极好的,自己搞定的东西,不会忘记。
2016-10-27 15:55
快速回复:SQL模糊查询中文问题(高手进)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016981 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved