2013-05-08 57 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