2017-12-11 11 views
0

以下のサンプルセットのようなテーブルがあります。ハイブストリングの出力表の値に置き換えられる関数

ColA 
AAAA 
BBBB 
CCCC 

次のクエリを使用して出力を取得しました。

SELECT LPAD (ColA,5,'0')FROM TableName; 

次の出力が表示されます。

ColA 
    0AAAA 
    0BBBB 
    0CCCC  

しかし、テーブルの値を出力値に置き換えたいとします。出来ますか? はいの場合、いくつかの助けに感謝します!

+0

あなたコラム「コーラ」の文字列であれば、あなたは間違いなく、出力のように値を格納することができます。 Integerでのみ、先行するゼロを切り捨てます。 –

答えて

1

あなたは自分自身から上書きテーブルを挿入することができます。

insert overwrite table TableName 
SELECT LPAD (ColA,5,'0') as ColA, 
     ColB, 
     ... 
     ColN 
    FROM TableName; 
+0

回答ありがとうございますが、このセットでは1つのカラムを指定していますが、データには複数のカラムがあり、上書きを使用しようとすると1カラムのみで変更を適用する必要があります。次の例外をスローします。Table insclause-0は5つの列を持ちますが、クエリには1つの列があります。 – Shubzumt

+0

@Shubzumtもちろん、元のテーブルからすべての列を追加する必要があります。同じ順序で同じ数の列にする必要があります。 – leftjoin

+0

@Shubzumt更新された回答を参照してください。 select文の列の順序は同じである必要があります – leftjoin

関連する問題