sql查询什么都不返回,而它应该

时间:2015-02-14 11:18:58

标签: sql sql-server

我在 sql server 2012

上运行此查询
select * from news where category = 'فيديو';

我有'فيديو'类别的1,000多条记录,但它不返回任何记录。我尝试使用Like关键字来查看是否有空格或内容,但不幸的是它没有返回任何记录。

我也运行此查询以确保

select category,count(*) from news group by category;

这就是结果

enter image description here

注意:类别列具有nvarchar(100)类型

其他人有同样的问题吗?

2 个答案:

答案 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。

相关问题