我正在尝试使用存储过程从 SQL Server 2008 数据库中获取阿拉伯语匹配值。但它不返回匹配的值.. 为什么?
我的桌子设计是这样的:
CREATE TABLE #test1
(
col1 nVARCHAR(100) ,
col2 nVARCHAR(100) ,
col3 NVARCHAR(100)
)
INSERT INTO #test1 VALUES(N'لا أتكلم العربية',N'لا أتكلم العربية',N'لا أتكلم العربية')
INSERT INTO #test1 VALUES( ' fdfdf', 'dfdfdf', '45dfdf')
SELECT * FROM #test1
它很好地显示了下面的结果......
col1 col2 col3
لا أتكلم العربية لا أتكلم العربية لا أتكلم العربية
fdfdf dfdfdf 45dfdf
在我搜索阿拉伯语单词时,给定的查询给出了确切的结果..
declare @ColVal nvarchar(100)
set @ColVal= N'لا أتكلم العربية'
print @ColVal
select * from #test1 where col2 like @ColVal
但是当我尝试使用存储过程检索相同的数据时,即使它们存在于表中,它也不再显示匹配的行。
我的存储过程是
create proc Sp_TestArabic1 (@colValue nvarchar(100))
as
declare @ColVal nvarchar(100)
begin
set @ColVal= 'N'+@colValue
print @ColVal
select * from #test1 where col2 like @ColVal
end
exec Sp_TestArabic1 'لا أتكلم العربية'
没有给出任何结果,我尝试调试存储过程,所有列都很好地传递了值,但它没有返回正确的结果..
请提供根据条件搜索阿拉伯语单词的确切解决方案...
谢谢..