- PR -

MySQL5で、指定したフォーマットでの文字列変換

1
投稿者投稿内容
わんこ
会議室デビュー日: 2007/04/24
投稿数: 7
投稿日時: 2007-10-12 07:32
MySQL5での質問です。
指定したフォーマットで文字列を変換したものを
Update文で更新したいのですがどのようにしたら良いでしょうか?

123456789

123-45-6789
に変換し、この値に更新する方法です。
元データ
ID UserNo
1 123456789
2 456789012
3 789123456

変換後
ID UserNo
1 123-45-6789
2 456-78-9012
3 789-12-3456

以下のような、Update文を作成したいのが目的です。
UPDATE User SET UserNo = (123-45-6789に変換する文) WHERE UserNo = '123456789';

[ メッセージ編集済み 編集者: 未記入 編集日時 2007-10-12 07:48 ]
柴田 たけお
常連さん
会議室デビュー日: 2007/09/19
投稿数: 40
お住まい・勤務地: 米国カリフォルニア州オレンジカウンティー
投稿日時: 2007-10-12 10:03
http://dev.mysql.com/doc/refman/4.1/ja/string-functions.html

LEFT, RIGHT, MID, CONCAT, SUBSTRINGなどつかえば
できそうですが・・
忠犬
大ベテラン
会議室デビュー日: 2006/05/01
投稿数: 109
投稿日時: 2007-10-12 10:32
更新の指定例です。

コード:
update `User`
 set UserNo=concat_ws('-',substr(UserNo,1,3),substr(UserNo,4,2),substr(UserNo,6,4))
-- where UserNo='123456789'

わんこ
会議室デビュー日: 2007/04/24
投稿数: 7
投稿日時: 2007-10-12 10:38
なるほど、CONCAT_WSを使用するんですね。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)