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)

在MSDN上阅读有关charvarchar声明的更多信息。

于 2013-11-06T09:29:27.560 回答