如何使用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
包含印地语单词,但是通过使用存储过程,我无法检索印地语数据
请帮忙......
答案 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