ストアドプロシージャを使用して、SQLServer2008データベースからアラビア語に一致する値を取得しようとしています。しかし、一致した値は返されません。なぜですか?
私のテーブルデザインは次のようなものです。
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 'لا أتكلم العربية'
結果が得られません。ストアドプロシージャのデバッグを試みました。すべての列が値を適切に渡しますが、正しい結果が返されません。
条件に基づいてアラビア語を検索するための正確な解決策を提供してください...
ありがとうございました..