2015-06-04 48 views
0

我是sybase的新手,我正在尋找幫助格式化輸出。我有一個查詢,我正在運行並將結果輸出到一個平面文件。在sybase IQ中輸出格式15.3

這裏是我的命令行:

isql -U ro -S DCIQ -P Qx346788 -imysql.sql -oresults.txt -b -w2500 -s"|" 

我查詢的輸出來作爲:

|  20110915|  1.07000000| 27875450|UBC  |XW01  | 

這不是我所期待的。我想格式化輸出,以便它通過沒有空格的管道分隔。例如,我想要這樣的輸出:

|20110915|1.07000000|27875450|UBC|XW01| 

我該如何擺脫空間來獲得他的輸出?

我試過其他選擇,但遇到錯誤:

1> select "hi" from dummy; 
2> OUTPUT TO data.txt 
3> go 
Msg 102, Level 15, State 0: 
SQL Anywhere Error -131: Syntax error near 'OUTPUT' on line 2 

的Sybase IQ/15.3.0.6056/110506/P/GA /企業LINUX64 - x86_64的 - 2.6.9-67.0.4.EL

+0

替代方法中的語法不正確。刪除分號,刪除第2行,並將'> data.txt'添加到'go'的行中。 –

回答

0

有幾種方法可以做到這一點。

1 - Output redirect或使用temp_extract_*選項來設置temporary extraction point。這會導致查詢的結果集直接寫入文件,而不是轉到客戶端。

2 - 使用bcp。這確實需要結果集可以在臨時表或視圖中訪問,但它可能允許您提取數據並指定您希望使用的分隔符。

+0

我無法使用bcp,因爲我只能按會話創建臨時表,並且bcp打開不同的會話並且不會看到我的數據。你可以給我一個輸出重定向的例子,以及如何管道定界數據 – yoohoo

+0

使用你的例子'1>從dummy''2> go> data.txt'選擇「hi」在文檔鏈接中也有例子。 –

+0

嗨,我嘗試去> data.txt,但仍然看到帶有上述空格的輸出 – yoohoo