我正在使用C#在ASP.NET中开发一个Web应用程序。我将SQL表中的数据保存为Google Transliteration给出的Unicode字符。我本来应该用印地语。我没有关于添加数据的问题。但是当我使用“SELECT”语句时,在任何情况下都不会从数据库表中检索数据。
我的查询如下:
SELECT uid, family_head, member_name, house_no, address, f_h_name, gender, caste, dob, occupation, literacy, end_date
FROM family
WHERE (member_name = 'समर्थ अग्रवाल')
它返回null。
答案 0 :(得分:5)
将字符串更改为以N
开头,表示它是Unicode字符串:
SELECT uid, family_head, member_name, house_no, address, f_h_name, gender, caste, dob, occupation, literacy, end_date
FROM family
WHERE (member_name = N'समर्थ अग्रवाल')
否则,该字符串将不是Unicode字符串,并且查询将不返回任何结果。
请参阅MSDN上的Constants (Transact-SQL):
Unicode字符串
Unicode字符串的格式类似于字符串,但前面有一个N标识符(N代表SQL-92标准中的国家语言)。 N前缀必须为大写。例如,'Michél'是字符常量,而N'Michél'是Unicode常量。 Unicode常量被解释为Unicode数据,不使用代码页进行评估。