让Space忽略字符/空格

时间:2014-06-10 16:33:19

标签: sql-server space content-length

我的任务是选择一些列并在一行中显示每组列,但具有所需的格式。第一组数据将使用127个空格,其中包括“AAAA”,[LV_WRR],“D”,[LV_WRR]和[ID],但[ID]的长度不同,这就是问题所在。 [FTA]应该从空格128开始,忽略[ID]使用的长度。

这就是我现在所拥有的:

SELECT
    'AAAA'
  + [LV_WRR]
  + 'D'
  + [LV_WRR]
  + [ID]
  + SPACE(120 - LEN([ID]))
  + [FTA]
  + [FT_ID]
FROM MyTable

[ID]列具有不同长度的数据。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT 
LEFT('AAAA' + [LV_WRR] + 'D' + [LV_WRR] + [ID] + REPLICATE(' ',127),127)  + [FTA] + [FT_ID]
FROM MyTable

REPLICATE创建一个127个字符长的空格字符串。这将附加到由其他列值和常量形成的字符串。 LEFT然后获取此字符串最左边的127个字符,并附加[FTA][FT_ID]列的值。结果是FTA的值始终从第128位开始。

可以找到示例演示here