我在 sql server 2012
上运行此查询select * from news where category = 'فيديو';
我有'فيديو'类别的1,000多条记录,但它不返回任何记录。我尝试使用Like
关键字来查看是否有空格或内容,但不幸的是它没有返回任何记录。
我也运行此查询以确保
select category,count(*) from news group by category;
这就是结果
注意:类别列具有nvarchar(100)类型
其他人有同样的问题吗?
答案 0 :(得分:3)
试试这个
select * from news where category = N'فيديو'; /* place N before the starting single Quotation */
这是 SqlFiddle
答案 1 :(得分:3)
在字符串之前使用N,因为'فيديو'是unicode字符所以 使用这个
select * from news where category = N'فيديو';
您可能已经看到使用N前缀传递字符串的Transact-SQL代码。这表示后续字符串是Unicode(N实际上代表国家语言字符集)。这意味着您传递的是NCHAR,NVARCHAR或NTEXT值,而不是CHAR,VARCHAR或TEXT。