2013-02-28 142 views
5

我有一个问题,当我做一个SQL查询用希伯来语:SQL查询不支持希伯来语

"select ProductName From Products WHERE TypeOfProduct ='מעבד'" 

我有TypeOfProduct集,这是有值“מעבד”,但查询返回null

如果我用数字或英文单词替换希伯来词,一切都会好起来的。

如何在SQL查询中使用希伯来语?

+1

什么类型是您的数据库列?排序规则如何? – vcsjones 2013-02-28 18:47:35

+0

表格在整理方面是什么样子的?你能正确地检索数据并显示它(如果你以其他方式获取该行)? – 2013-02-28 18:48:03

+0

SQL是为拉丁字符集设计的,您很可能会遇到这种问题,而字符会落在它之外。 – Amicable 2013-02-28 18:48:54

回答

12

您应该将where子句中的字符串即N“מעבד”之前,使用“N”字头使用Unicode ...

select ProductName From Products WHERE TypeOfProduct = N'מעבד' 

你还需要确保你的列类型nvarchar而不是varchar

如果您不能使用nvarchar和Unicode字符串,则必须将数据库的排序规则从LATIN更改为HEBREW

+0

谢谢非常非常,我很好地表达了,而且我没有找到答案,最后!谢谢 ! – ShmuelCohen 2013-02-28 18:51:23

+1

很高兴帮助...如果这有助于标记答案,以便其他人可以看到 – Mortalus 2013-02-28 18:52:41

+1

只需展开Mort的评论,如果您接受此答案,您可以点击答案左上角的复选框。 – 2013-02-28 18:53:49