2017-01-10 21 views
0

リンクされたDB2データベーステーブルをクエリするストアドプロシージャがあります。 そのようなクエリは、しかし、一つの大きな文字列です:DB2クエリの結果を削除する

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

exec sp_executesql @sql 

問題が明らかにDB2の人々が特定の長さに列を強制的に、CHARの代わりにVARCHARを使用するので、結果は空白の束を返すということです。

クエリの結果をトリミングして、不要な空白をすべて返さないようにするにはどうすればよいですか?

答えて

1

DB2 DocumentationあなたはTRIM機能を必要に応じて:

あなたのケースではそう
>>-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

関連する問題