首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求用一条完整话语解码一个ascii码串,转换为字符串

2013-09-13 
求用一条完整语句解码一个ascii码串,转换为字符串‘105 108 111 118 101 121 111 117’ 每三个数字是一个asc

求用一条完整语句解码一个ascii码串,转换为字符串
‘105 108 111 118 101 121 111 117’
 每三个数字是一个ascii码,每个ascii之间有个空格,要求最后要达到如下效果:
 比如: i love you
 就是要所有字母显示在一行 ascii?字符串转换
[解决办法]

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
*/

[解决办法]
--自动拆成单词,就不好弄了.呵呵
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
*/

热点排行