我将SQL字符串存储在表列中,它包含这样的字符
201603030040000
所以我希望得到像这样的结果
2016 0303 0004 0000
我已经尝试了一些东西,
SET @output = (SELECT Stuff(Voucherid, 5, 0, ' ') + ';' FROM #tmpBus FOR XML PATH(''))
但不幸的是,它给了我这样的结果
2016 030300040000
是否有针对此问题的解决方法?
答案 0 :(得分:2)
只要您的数据总是12个字符,并且您总是需要4,4,4,4分割,那么您可以使用LEFT
和SUBSTRING
。
SELECT LEFT(columna, 4) + ' ' +
SUBSTRING(columna, 5, 4)+ ' ' +
SUBSTRING(columna, 7, 4)+ ' ' +
SUBSTRING(columna, 9, 4)+ ' ' +
SUBSTRING(columna, 11, 4)
FROM yourtable
输出:
2016 0303 0300 0040 4000
答案 1 :(得分:-1)
SELECT have,
SUBSTR(have,1,4)
||' '
||SUBSTR(have,5,4)
||' '
|| SUBSTR(have,9,4)
||' '
|| SUBSTR(have,12) AS want
FROM
( SELECT '201603030040000' AS have FROM dual
);