【问题标题】:Export SQL table into a fixed length format将 SQL 表导出为固定长度格式
【发布时间】:2012-05-04 12:50:39
【问题描述】:

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

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

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

0101JohnSmith
9901JaneCole

有人知道怎么做吗?

【问题讨论】:

  • 请问是什么数据库平台?
  • 你想要固定长度还是没有空格?有很大的不同。
  • 数据库是SQL Sever 2008,我想写成一个固定长度的文件。例如。字符 1-2= 县代码,3-4 办公室,5-25= 名,25-45= 姓。

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


【解决方案1】:

假设所有列都是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] 的名称将在left 处填充空白,并且总是 长度为20 个字符。

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

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

【讨论】:

  • 我知道你在做什么。我想现在我想知道如何将其写入 .txt 文件?这在 SQL '08 中可能吗?
  • @evglynn:有很多answers here on SO
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多