如何使用hindi参数从SQL Server存储过程中检索数据

时间:2015-04-17 13:23:54

标签: sql-server

如何使用hindi参数从SQL Server存储过程中检索数据?

我试过这样的话:

declare @A nvarchar (max), @b nvarchar(max), @c nvarchar(max)
set @b = N'नईम '
print @b

但是使用@b作为参数然后它将起作用:

declare @A nvarchar (max),@b nvarchar(max),@c nvarchar(max)
 set @b = 'नईम '
 print @b

然后没有找到结果

传递hindi参数,如sp:

[Up_searchbyperameter] 35,62,0,'नाम'

请给我任何解决方案

在存储过程中,有一个参数@datavalue包含印地语单词,但是通过使用存储过程,我无法检索印地语数据

请帮忙......

1 个答案:

答案 0 :(得分:2)

我不确定我是否完全理解,但看起来其中一个问题是当你需要使用nvarchar文字时你正在使用varchar文字。

如果你运行它,你可以看到问题:

SELECT 'नाम' "A",
    N'नाम' "B",
    cast('नाम' as nvarchar(10)) "C"

你应该得到这些结果:

A   B   C
--- --- ---
??? नाम ???

查看A列和C列是未知字符的?那是因为它们是作为varchar文字而不是nvarchar文字输入的。印地语字符在varchar字段中无效,因此它们会转换为问号。

所以,如果我理解你的要求,我认为你需要使用:

declare @A nvarchar (max), @b nvarchar(max), @c nvarchar(max)
set @b = N'नईम'
exec [Up_searchbyperameter] 35,62,0,@b