nvarchar&中的SQL Server搜索NTEXT

时间:2012-06-29 07:58:23

标签: search unicode sql-server-2008-r2

我在VS2010,C#ASP.NET Web应用程序中使用SQL Server 2008作为我的数据库引擎。我的项目是波斯语(波斯语)所以我使用nvarcharntext作为我的数据类型。

我使用以下查询从我的数据库中查找行但没有返回任何内容,而我有一行指定了关键字。当然我的关键字是波斯语(unicode)。

这里出了什么问题?是因为使用波斯语吗?如何在包含unicode字符的nvarcharntext列中进行搜索?

myCommand = new SqlCommand("select * from tblArticle where name LIKE '%" + txtSearch.Text + "%'", SQLConnection);

3 个答案:

答案 0 :(得分:13)

您应该使用N'前缀来表示您正在搜索Unicode字符串:

SELECT * FROM dbo.tblArticle WHERE name LIKE N'%......%'

否则,您将搜索字符串转换回非Unicode,然后搜索....

答案 1 :(得分:3)

您必须使用COLLATE Latin1_General_BIN2才能获得结果。埃塞俄比亚为阿姆哈拉语工作。

Select * From YourTableName where ColNameYouSearch LIKE N'%YourSerchCriteria%' COLLATE Latin1_General_BIN2"

答案 2 :(得分:0)

我不熟悉C# ASP.NET,但使用nvarcharntext不应对查询类型产生任何影响。我在徘徊你只是将你的查询命令分配给一个变量而不是执行它。 你应该做myCommand.execute()吗?