SQL 'Stuff' 连接添加 2 个空格 - 附 Rextester 演示
SQL 'Stuff' to concatenate add 2 spaces - Rextester demo attached
我有一个场景,我将 3 个字符串连接在一起。每个字符串的长度是 25,所以当我连接时,我希望字符串具有固定的宽度。
所需的输出格式:
**String1(length 22 + 3spaces)String2(length 9 +16 spaces)String3(length8+17spaces)**
当前输出:
****String1(length 22 + 3spaces)**2 additional spaces**String2(length 9 +16 spaces)**2 additional spaces**String3(length8+17spaces)**2 additional spaces**
我不想显示额外的空间。有办法吗?
https://rextester.com/GSWML31014
此处附上 rextester 演示。有帮助吗?!
连接前的 25 个字符的字符串
SELECT (
SELECT LEFT(t1.testdata + SPACE(25), 25)
FROM #temp1 t1
FOR XML PATH ('')
) AS TheOutput
您可以简单地将它们转换为 char(25)
- SQL 服务器将根据需要添加尽可能多的尾随空格 - 您不需要 stuff
因为您没有要从结果开头删除的分隔符。
您甚至不需要连接空字符串,因为一旦您使用了 cast
,该列就没有别名,因此 for xml path('')
将简单地连接值。如需更多信息,
SELECT CAST(cid AS CHAR(25))
FROM #temp1
FOR XML PATH('')
结果:'1001 1001 1001 '
(添加'
以显示字符串的长度)
我有一个场景,我将 3 个字符串连接在一起。每个字符串的长度是 25,所以当我连接时,我希望字符串具有固定的宽度。
所需的输出格式:
**String1(length 22 + 3spaces)String2(length 9 +16 spaces)String3(length8+17spaces)**
当前输出:
****String1(length 22 + 3spaces)**2 additional spaces**String2(length 9 +16 spaces)**2 additional spaces**String3(length8+17spaces)**2 additional spaces**
我不想显示额外的空间。有办法吗?
https://rextester.com/GSWML31014
此处附上 rextester 演示。有帮助吗?!
连接前的 25 个字符的字符串
SELECT (
SELECT LEFT(t1.testdata + SPACE(25), 25)
FROM #temp1 t1
FOR XML PATH ('')
) AS TheOutput
您可以简单地将它们转换为 char(25)
- SQL 服务器将根据需要添加尽可能多的尾随空格 - 您不需要 stuff
因为您没有要从结果开头删除的分隔符。
您甚至不需要连接空字符串,因为一旦您使用了 cast
,该列就没有别名,因此 for xml path('')
将简单地连接值。如需更多信息,
SELECT CAST(cid AS CHAR(25))
FROM #temp1
FOR XML PATH('')
结果:'1001 1001 1001 '
(添加'
以显示字符串的长度)