web-dev-qa-db-ja.com

ハイブパディングの先行ゼロ

テーブル内の文字列列の出力が13文字の長さである必要があります。長さに関係なく、残りの文字に0を詰める必要があります...

Hiveクエリで次のコードを使用しようとしましたが、目的の出力を取得できませんでした

right('0000000000000' + ProductID, 13)

何か助けは?ありがとう

15

Hiveには、組み込みのlpad関数とrpad関数があります。あなたのケースではあなたが使うことができます:

lpad(ProductId, 13, "0")

または、13文字に切り捨てる必要がある場合は、これを「右」関数でラップできます。

35
Jason Rosendale