-1

私がこれを試したとき:

DECLARE @var nvarchar(500) collate Arabic_BIN

了解:

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'collate'.

それは完全なコードです。動作します。方法はわかりませんが、私にそれを提供した人はそれを正常に使用しました

CREATE FUNCTION fn_RemoveTashkeel (@InputString nvarchar(2300) )

RETURNS nvarchar(2300)

AS
BEGIN
   DECLARE @OutputString nvarchar(2300) COLLATE Arabic_BIN 
   DECLARE @TashkeelChr char(8) COLLATE Arabic_BIN 
   DECLARE @feed int
   SET @OutputString=@InputString
   SET @TashkeelChr='ًٌٍَُِّْْْْْ'
   SET @feed=1
 WHILE @feed<=LEN(@TashkeelChr)
   BEGIN
    SET @OutputString=REPLACE(@OutputString,SUBSTRING(@TashkeelChr,@feed,1),'')
    SET @feed=@feed+1
   END
   RETURN(@OutputString)
END
4

1 に答える 1

1

変数宣言で照合を設定しません。MSDNのドキュメントによると:

照合

データベース定義または列定義に適用して照合を定義したり、文字列式に適用して照合キャストを適用したりできる句です。

つまり、テーブルの列定義の一部として、またはSELECTステートメントで、データベースレベルで照合を設定します。

詳細については、MSDNのドキュメントを参照してください。

于 2010-10-12T23:23:58.633 に答える