DB2 V9 z/os
背景: 私は次のように定義された 4 列のテーブルを持っています。(col1 int, col2 smallint, col3 int, col4 date)
行 1 の値は (1,123,456,2012-08-23)
以下を実行すると:
SELECT CAST(col2 AS VARCHAR(5)) CONCAT CAST(col3 AS VARCHAR(5))
FROM db.T1
WHERE col1 = 1;
値 123456 が返されます。これはまさに私が望むものです。
以下を実行すると:
UPDATE db.table2
SET col3 = SELECT CAST(col2 AS VARCHAR(5)) CONCAT CAST(col3 AS VARCHAR(5))
FROM db.T1
WHERE col1 = 1;
エラーは次のとおりです。
SQL0408N 値がその割り当てターゲットのデータ・タイプと互換性がありません。ターゲット名は「col3」です。SQLSTATE=42821
このエラーは、varchar を整数に挿入しようとしたことが原因であると理解しています。他に何ができますか?さまざまな CAST ステートメントを使用してみましたが、col3 に挿入する値を取得できません。上記のように値を結合して表示する必要があります。
どんな助けでも大歓迎です。