sql - 将 SQL 表导出为固定长度格式

标签 sql sql-server sql-server-2008 concatenation

目前我的表中有格式如下的数据:

County     Office     First Name     Last Name
01         01         John           Smith
99         01         Jane           Cole

我需要使用 SQL 将其导出到固定长度的文本文件中。输出应如下所示:

0101JohnSmith
9901JaneCole

有人知道怎么做吗?

最佳答案

假设所有列都是NOT NULL:

SELECT [County]         -- already matches length of 2?
     + [Office]         -- ... ditto
     + right('                    ' + [First Name], 20)
     + right('                    ' + [Last Name], 20)
FROM   tbl

是的,上面是一串 20 个空格。所以 [First Name][Last Name] 名称将被空白填充到左边并且总是 20 个字符长。

或者,如果您希望将字符串填充到右边:

left([First Name] + '                    ', 20)

关于sql - 将 SQL 表导出为固定长度格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288516/

相关文章:

sql - 使用进入和退出时间戳在 SQL 中计算运行计数(商店数量)

java - 检索数据时出错

sql - 在 sql server 中将列类型从 bigint 更改为 numeric(18,0)

sql - 使用变量和索引的 T-SQL LIKE

database - 当数据库发生变化时从 SQL Server 数据库向应用程序发送消息

sql - 溶胶/冷聚变 : INSERTS with multiple foreign keys from session

mysql - 计算 SQL 查询中不同行的条件

sql - 如何连接多行?

sql-server - 如何使用 mssql 配置 sequelize?

sql-server - SQL Server 查询占用 100% CPU 并运行数小时