例)
旧ID | 新ID | |
1 | → | 10000000001 |
2 | → | 10000000002 |
3 | → | 10000000003 |
4 | → | 10000000004 |
5 | → | 10000000005 |
↑こんな感じ
UPDATE table_name SET id= cast(1||lpad(''||id, 9, '0') as bigint);
●解説
lpad(''||id, 9, '0')
→ 左埋め '0'(引数3番目)で9桁(引数2番目)0埋め(3番目省略すると、空白で埋められる)
→ ''||id は、idがbigintのため ''空文字列を結合して stringにしてやる(lpadの引数1番目はstringじゃないと怒られる)
cast(1||lpad(''||id, 9, '0') as bigint)
→ 0埋め処理した文字列を cast()で bigintに戻してます
0 件のコメント:
コメントを投稿