2016-11-09 20 views
0

データの行が2つの文字列、string1およびstring2で構成されているDB2テーブルの列があります。これらの間には空白文字がいくつかありますが、削除しようとしています。db2連結された行が空白を表示

私が以下を実行すると、期待される結果が表示されます。これはstring1string2です。

SELECT REPLACE(COLUMN、 ''、 '')FROM Source_Table;

私は新しいテーブルにクレンジング行を挿入しようとすると、ただし、データはまだstring1string2の間に空白が含まれています。

INSERT INTO TARGET_TABLE(列)

SELECT SOURCE_TABLE FROM(カラム、」」、 '')を置き換えます。

+0

私はこれらを試して、すべて正常に動作し、テーブルのサンプルデータを提供することができます。列のデータ型は何ですか。 –

答えて

2

おそらく、列をCHARと宣言しましたが、DB2は列の未使用領域をスペースで埋めています。それは設計によるものです。

あなたはこの動作を回避したい場合は、また、あなたのSELECTあなたは/あなたがトリムを使用することができます代わりにREPLACE()

+0

あなたは正しいです。私は 'CHAR'を使っています。私は' VARCHAR'を試してみます。ありがとう! – joshi123

+2

元のデータが 'CHAR'のままであれば' TRIMR() 'が必要です。それ以外の場合は、オリジナルを 'VARCHAR'に変更して、ロード時にデータがトリムされるようにする必要があります。 – Charles

+0

「データにはまだ文字列1と文字列2の間に空白が含まれています」 – Esperento57

0

のwithespacesを除去するためのTRIMまたはRTRIM機能を使用する必要がありますにVARCHAR

として列を宣言する必要があります上記のようなrtrimは、あなたに言った、またはストリップ関数

関連する問題