数値として列node_idを持つテーブルがあります。ここで、
node_id
0
2000
300300300
400400400
私が取得しようとしているのは、この数値を文字列に変換し、右から3桁ごとに「-」を追加することです。したがって、期待される出力は、
node_id
000-000-000
000-002-000
300-300-300
400-400-400
これは私が使用しているクエリです、
select TO_CHAR( lpad(t1.node_id,9,'0'), '999G999G999', 'NLS_NUMERIC_CHARACTERS="-"'), node_id from table t1;
私が得ている出力は、
node_id
0
2-000
300-300-300
400-400-400
私の問題は、全長が11になるように各レコードの前に「0」を付ける必要があることです。lpadの出力をvarcharに変換するために、lpadのすぐ周りにto_charを追加しようとしましたが、同じ出力が得られます。