2

我正在使用 C# 在 ASP.NET 中开发一个 Web 应用程序。我将 SQL 表中的数据保存为 Google 音译给出的 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 = 'समर्थ अग्रवाल')

它返回空值。

4

1 回答 1

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 上的常量 (Transact-SQL) :

Unicode 字符串

Unicode 字符串的格式类似于字符串,但前面有一个 N 标识符(N 代表 SQL-92 标准中的国家语言)。N 前缀必须为大写。例如,'Michél' 是一个字符常量,而 N'Michél' 是一个 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行评估。

于 2012-12-28T11:23:57.823 回答