2013-05-08 125 views
0

我有5个需要输出到固定长度文件的查询。安全不是一个问题,所以如果我需要开放一些更简单的解决方案,那完全没问题。将sql查询输出到文件

所以只是为了简化假设我有两个疑问:

Select 'Walmart ' Company, '123 ' StoreNo, '456 ' InvoiceNo 
Select '00000234958328' UPC, '00023' Quantity 

而且我想要的结果是输出成固定长度的文件,像这样:

Walmart 123 456 
0000023495832800023 

我明明可以”由于它们有不同的列,因此将查询结合在一起,所以我想我需要能够追加到文件而不是只能覆盖它。有没有办法做到这一点,可以自动化,并不需要我使用SQL Server以外的工具?

+0

为什么不能单独运行查询?收集数据,然后写入文件。 – 2013-05-08 21:23:37

+0

请通过添加适当的标签(Oracle,SQL Server,MySQL等)来指定您要定位的RDBMS。可能会有利用不被普遍支持的语言或产品功能的答案。此外,通过使用特定的RDBMS标记它,您的问题可能会得到更适合回答的人的关注。 – Taryn 2013-05-08 21:29:52

+0

怎么样:http://ask.sqlservercentral.com/questions/7080/export-results-of-a-query-into-a-csvtxt-file.html – cpoDesign 2013-05-08 21:33:35

回答

0

怎么样一个简单的黑客...

Select 'Walmart ' , '123 ' , '456 ' from dual 
union 
Select '00000234958328' , '00023' , null from dual; 

还是真的 - 因为你要每行一个固定长度的字符串,只是他们都类似于串联到这一点:

Select company || storeno || invoiceno from dual 
union 
Select upc || qty from dual; 

你会可能想要使用RPAD或某些格式,具体取决于您的DBMS

+0

对不起,忘了标签为mssql。不是我无法在mssql中做同样的事情,但我更关心如何将每个查询的结果追加到文件中,而不是将它们拼写成单个查询(如果可能的话)。 – 2013-05-08 22:16:19