2012-12-28 91 views
2

有什麼方法可以阻止isql在返回的字段之前和之後添加間距?我只是希望表格行的值分開,。目前,使用-b-s ',',我得到:從isql輸出中刪除空格

,some_column_entry   ,   3213,   another_column_entry, 

不過,我想:

,some_column_entry,3212,another_column_entry, 

我經歷了所有的交換機讀,但也似乎沒有找到什麼合適的。我希望得到isql以這種形式輸出,而不是解析輸出。

編輯

select top 1 rtrim(ltrim(some_column)) from table 

回報

,abc    , 

isql似乎根據的最大字符大小的輸出,因爲如果我運行以下命令:

select top 1 rtrim(ltrim(convert(varchar(3), some_column)) from table 

我得到:

,abc, 

回答

0

試試這個

Use RTRIM(LTRIM(ColumnName)) in your -q Query Select command. 
0

some_column_entry   , 

之間的對比
,   another_column_entry, 

使我覺得空間是你的字段項的一部分,而不是使用的分隔符。

man isql

-dx的劃界列隨x。

-x0xXX用XX定界列,其中XX以十六進制表示。例如-x0x09將使用一個選項卡。

如果不工作,那麼你可以管的isql通過一個簡單的sed使用情況下的輸出:

isql ... | sed -e 's/\ //g' 
+0

'-d'似乎是一個語法錯誤。我將不得不使用'-s'x'來使x成爲列分隔符。 – bqui56