如何在SQl中对rtl语言执行条件查询

时间:2014-03-29 16:48:11

标签: sql-server tsql

我想对包含从右到左语言的表执行条件查询。 我已经使用存储过程从我的win表单查询数据库。 代码:

CREATE PROCEDURE filerPROC
@Person nchar(50),
@email nvarchar(100)
AS
BEGIN 
    select lastname,DOB from Employee where name = @Person
END

当我得到结果。这是全部了 ???而不是人名。如何配置表工作正常?我已经尝试使用N keword,但它给了我语法错误。

insert into Employee (N'rtl lang'......)

2 个答案:

答案 0 :(得分:0)

通常,如果您的数据库默认排序规则未设置为您的目的语言,则可能会出现此问题。 只需根据您选择的语言编写以下代码:

ALTER database 'database name' collate SQL_Latin1_General_CP1_CI_AS

后面的字词'整理'你可以替换你想要的任何语言。看到这里:

http://technet.microsoft.com/en-us/library/ms184391.aspx

答案 1 :(得分:0)

可能是您的应用程序代码未在unicode中将值传递给@Person。我看到了很多。您可能需要将其编码为UTF-8。