首页 > 解决方案 > 如何将给定列中的可变长度值格式化为相同长度的输出

问题描述

从需求文档中,我需要将数据从 SQL Server 提取到文本文件中,格式类似于,其中第一列需要填充位置 1-9、下一个 10-27、下一个 28-43 等等无论列中数据的实际长度如何。

鉴于每行/列组合将具有不同长度的数据,不知道如何处理。任何想法,将不胜感激。

我尝试过右空格、左空格等,但它们都只是在实际数据长度上添加空格,而不是将返回数据的长度填充为 x 长度。

SELECT 
CAST(LEFT(FIRSTNAME + SPACE(60), 60) AS CHAR(60)) 'LEFT'
FROM MLA

就像是

Robert      Gaskin          Portland

标签: sql-servertsqlspaces

解决方案


select RPAD( firstname, 10, ' ' ) as padded_name from MLA

推荐阅读