如果set @TargetValue='310000Fa001,310000Fe001'SQL怎样处理,可以将其转化为'''310000Fa001'',''310000Fe001'''???
也就是分别给'310000Fa001,310000Fe001'中每一个加两个 “ ' ” 号,应该怎样处理???
也就是分别给'310000Fa001,310000Fe001'中每一个加两个 “ ' ” 号,应该怎样处理???
set @TargetValue='310000Fa001,310000Fe001'SELECT @TargetValueSET @TargetValue = '"''310000Fa001","''310000Fe001"' --注意单引号的转义SELECT @TargetValue--"'310000Fa001","'310000Fe001"
--'310000Fa001','310000Fe001'
set @TargetValue='310000Fa001,310000Fe001'select ''''''+replace(@TargetValue,',',''''',''''')+''''''--''310000Fa001'',''310000Fe001''
select ''''''''+replace(@TargetValue,',',''''',''''')+''''''''
--'''310000Fa001'',''310000Fe001'''
谢谢大师,小弟意思是用“SQL”函数处理转化。就像“C#”中可以“Split”得到数组,然后重新拼接,得到新的字符串。问题是:SQL中怎样转化???
set @TargetValue = ''''+ REPLACE(@TargetValue,',',''',''')+''''
declare @TargetValue varchar(100)set @TargetValue='310000Fa001,310000Fe001'select @TargetValue = ''''''''+ REPLACE(@TargetValue,',',''''',''''')+''''''''select @TargetValue
/*
----------------------------------------
'''310000Fa001'',''310000Fe001'''*/
'in (' +@TargetValue+ ')' 直接执行存储过程传递参数: exec testone @TargetValue='''310000Fa001'',''310000Fe001'''存储过程内部转化:
set @TargetValue = ''''+ REPLACE(@TargetValue,',',''',''')+''''
晕了
'in (' +@TargetValue+ ')' 直接执行存储过程传递参数: exec testone @TargetValue='''310000Fa001'',''310000Fe001'''存储过程内部转化:
set @TargetValue = ''''+ REPLACE(@TargetValue,',',''',''')+''''执行存储过程的参数,如果是给存储过程的参数,“ ' ”比较多。存储过程内部的参数,“ ' ”比较少,是这样吧。
为什么 “@DateListSum” 超过100了,再拼接字符串,字符显示不出来了,为什么?