日期:2014-05-17  浏览次数:20526 次

“SQL”语句怎样处理???
如果

set @TargetValue='310000Fa001,310000Fe001'

SQL怎样处理,可以将其转化为'''310000Fa001'',''310000Fe001'''???


也就是分别给'310000Fa001,310000Fe001'中每一个加两个 “ ' ” 号,应该怎样处理???

------解决方案--------------------
SQL code
DECLARE @TargetValue VARCHAR(100)
set @TargetValue='310000Fa001,310000Fe001'

SELECT @TargetValue

SET @TargetValue = '"''310000Fa001","''310000Fe001"'  --注意单引号的转义

SELECT @TargetValue

--"'310000Fa001","'310000Fe001"

------解决方案--------------------
SQL code
select '''310000Fa001'''+','+'''310000Fe001'''
--'310000Fa001','310000Fe001'

------解决方案--------------------
declare @TargetValue varchar(100)
set @TargetValue='310000Fa001,310000Fe001'

select ''''''+replace(@TargetValue,',',''''',''''')+''''''

--''310000Fa001'',''310000Fe001''
select ''''''''+replace(@TargetValue,',',''''',''''')+''''''''


--'''310000Fa001'',''310000Fe001'''
------解决方案--------------------
--你是这意思么?
set @TargetValue = ''''+ REPLACE(@TargetValue,',',''',''')+''''
------解决方案--------------------
探讨

引用:
谢谢大师,小弟意思是用“SQL”函数处理转化。

就像“C#”中可以“Split”得到数组,然后重新拼接,得到新的字符串。

问题是:SQL中怎样转化???