在SQL字符串中给出空格

时间:2016-03-22 10:26:32

标签: sql sql-server

我将SQL字符串存储在表列中,它包含这样的字符 201603030040000

所以我希望得到像这样的结果

2016 0303 0004 0000

我已经尝试了一些东西,

SET @output = (SELECT Stuff(Voucherid, 5, 0, ' ') + ';' FROM #tmpBus FOR XML PATH(''))

但不幸的是,它给了我这样的结果

2016 030300040000

是否有针对此问题的解决方法?

2 个答案:

答案 0 :(得分:2)

只要您的数据总是12个字符,并且您总是需要4,4,4,4分割,那么您可以使用LEFTSUBSTRING

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
  );