2017-01-10 73 views
0

我有一個查詢鏈接DB2數據庫表的存儲過程。 查詢是一個大的字符串,不過,像這樣:從DB2查詢中修剪結果

SET @sql = 'SELECT * FROM openquery(TRAP_DB2, ''SELECT...'')' 

exec sp_executesql @sql 

的問題是,把結果返回的空白一堆,因爲顯然DB2人使用CHAR而不是VARCHAR,迫使列是一定的長度。

如何修剪我的查詢結果,以便它不返回所有不需要的空白空間?

回答

1

根據你所需要的TRIM功能DB2 Documentation

>>-TRIM--(--+---------------------------------------+--string-expression--)->< 
      | .-BOTH-----.       |       
      '-+----------+--+---------------+--FROM-'       
       +-B--------+ '-trim-constant-'         
       +-LEADING--+              
       +-L--------+              
       +-TRAILING-+              
       '-T--------' 

所以你的情況:

SELECT TRIM(<Your Field Name Here>) 
FROM <Your Table Here> 
+0

是的,我試過了,可惜似乎有某種形式的權限錯誤因爲它不起作用。 無法從鏈接服務器「TRAP_DB2」的OLE DB提供程序「IBMDADB2.DB2COPY1」中獲取列信息。 – blacksaibot

+0

@blacksaibot您已經嘗試過的細節以及您面臨的問題對於試圖幫助您解決問題的人員非常有幫助。請將這些詳細信息添加到您的問題以及您的情況中的其他任何人。 – iamdave