首页 新闻 会员 周边 捐助

sql中单引号替换问题

0
[已解决问题] 解决于 2013-07-03 18:26

 declare @CaseValue varchar;
 set @CaseValue='390,398';
 set @CaseValue=replace(@CaseValue,',',''',''')
 select @CaseValue

 

运行结果居然3,不知道哪里错了?

accpyys的主页 accpyys | 初学一级 | 园豆:134
提问于:2012-11-02 18:37
< >
分享
最佳答案
0

楼上的指出了一个问题,MSSQL在声明变量的时候,需要声明变量的长度,否则会默认长度为1.

另外一个问题:看你的题目是想把单引号去掉或者是替换掉,但是你的SQL好像是替换逗号吧,下面SQL或许可以帮到你:

declare @CaseValue varchar(50);
 set @CaseValue='390,398';
 set @CaseValue=replace(@CaseValue,'''','')
 select @CaseValue

欢迎讨论。

奖励园豆:5
jone_e | 小虾三级 |园豆:1410 | 2012-11-17 13:18
其他回答(1)
0

varchar[(n|max)]数据类型为可变长度,非Unicode字符数据,n的取值范围为1~8000,max指示最大存储大小是2的31次幂减1,故在数据项的大小差异很大时使用max。

对于你的问题:声明数据类型时应确定varchar的最大长度。例如:varchar(max)

阿朱姐姐 | 园豆:122 (初学一级) | 2012-11-02 20:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册