1
declare @tachareName varchar(200)
        ,@a varchar
set @tachareName='fsfhk,fsif,'
if(CHARINDEX(',',@tachareName)!=0)              
    --print @tachareName
    --select REPLACE(@tachareName,',',' ')--The output is:fsfhk fsif 
    set @a=REPLACE(@tachareName,',',' ')
    --REPLACE(@tachareName,',',' ')
    print @a    --The output is:f

どうしたの、文字列に「,」記号があるか判断して「 」に置き換えたい。

環境はSQL Server 2008です。

4

1 に答える 1

2

-の宣言のため@a、変数の長さを宣言していないため、デフォルトで 1 になりました。したがって、結果の最初の文字のみが返されます。

次のように宣言@aします。

declare @a varchar(200)

詳細についてはcharMSDNvarcharの宣言を参照してください。

于 2013-11-06T09:29:27.560 に答える