SQL Select语句 - >用块查询行

时间:2016-03-22 07:04:20

标签: sql sql-server-2008

我有一个正常的选择语句,它正在工作:) 但我希望查询以块为例显示:

现在

49810A58F778C8871AA01R

我想要这个:

4981 0A58 F778 C887 1AA0 1R

该语句以块为单位拆分查询。这可能与SQL有关吗?

1 个答案:

答案 0 :(得分:2)

使用Stuff函数操作字符串

的一种可能方法
SELECT 
    -- Works only for length >= 21
    STUFF(STUFF(STUFF(STUFF(STUFF(
        '49810A58F778C8871AA01R'
    , 21, 0, ' '), 17, 0, ' '), 13, 0, ' '), 9, 0, ' '), 5, 0, ' ')

修改

stuff添加到[IBAN]

SELECT IBAN = STUFF((
    SELECT ';' + STUFF(STUFF(STUFF(STUFF(STUFF([IBAN], 21, 0, ' '), 17, 0, ' '), 13, 0, ' '), 9, 0, ' '), 5, 0, ' ')
    FROM Bank   
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')