27,579
社区成员
发帖
与我相关
我的任务
分享
--昨天下班了没来得及给你回复,既然写了就贴一下吧
declare @str varchar(100)
set @str='105 108 111 118 101 121 111 117'
set @str=REPLACE(@str,' ',',')+','
declare @s varchar(5)
declare @str2 varchar(100)
set @str2=''
while CHARINDEX(',',@str)>0
begin
set @s=LEFT(@str,3)
set @str2=@str2+CHAR(@s)
set @str=RIGHT(@str,LEN(@str)-4)
end
select @str2 as lm
lm
----------------------------------------------------------------------------------------------------
iloveyou
(1 行受影响)
--自动拆成单词,就不好弄了.呵呵
DECLARE @str VARCHAR(255), @sql VARCHAR(MAX)
SET @str = '105 108 111 118 101 121 111 117'
SET @sql = 'SELECT CHAR(' + REPLACE(@str,' ',') + CHAR(') + ')'
EXEC(@sql)
/*
iloveyou
*/
DECLARE @XmlDocumentHandle int
declare @XmlDocument nvarchar(4000)
set @XmlDocument='105 108 111 118 101 121 111 117'
set @XmlDocument=REPLACE(@XmlDocument,' ','</item><item>')
set @XmlDocument=N'<Root><item>'+@XmlDocument+'</item></Root>'
select o.value('.','int') 'item'
into #temp
from (select cast(@XmlDocument as xml) 'x') t
cross apply x.nodes('/Root/item') x(o)
declare @s varchar(8000)
set @s=''
select @s=@s+char(item)
from #temp
print @s
/*
iloveyou
*/