【Oracle10g】下記のようなデータを持つ表Xがあり、内容を一気に変更したいのですがSQLだけでできないものでしょうか。


表X
列Y 列Z
'AA011' '2222'
'BB333' '4444'
'AA555' '6666'

これを下記に変換

列Y 列Z
'AA' '112222'
'BB333' '4444'
'AA' '5556666'

列Yに'AA'で始まるデータがあればそれに続く数字を列Zの先頭に付加する。
ただし、頭に0があれば取り除く。

宜しくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/09/26 15:37:07
  • 終了:2007/09/26 16:28:27

ベストアンサー

id:andalusia No.1

andalusia回答回数134ベストアンサー獲得回数122007/09/26 16:22:09

ポイント60pt

UPDATE x SET z = LTRIM(y,'A0') || z WHERE y LIKE 'AA%';

UPDATE x SET y = 'AA' WHERE y LIKE 'AA%';

のSQLで、できると思います。

id:saiso

2回に分ければ簡単だったんですね。

2007/09/26 16:25:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません