• ベストアンサー

ハイフン無しの電話番号データにハイフンを付加したい

MySQL 4.1.11 を使用しています。 ハイフン無しの電話番号データにハイフンをつけたいです。 現在1000以上のデータを手入力で修正中ですが、自動化できるのでしょうか? できればGWに突入できます(笑)。 どなたか知恵をお貸し下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

固定電話の番号は、 (1)市外局番(1~5桁) (2)市内局番(0~4桁) (3)加入者番号(4桁) ※(1)と(2)は合せて5桁 という構成になっており、市外局番は追加や変更が時々行われます。 したがって、市外局番の情報を、総務省から入手する必要があります。 全市外局番をデータベースに格納し、以下のようなSQLを実行することで、電話番号に「-」を入れられます。 set @tel='045262nnnn'; select telno,@tel, concat(substr(@tel,1,length(telno)), "-", substr(@tel,length(telno)+1,length(@tel)-length(telno)-4), "-", substr(@tel,length(telno)+length(@tel)-length(telno)-4+1,4) ) as telban from outer_telno where substr(@tel,1,length(telno)) = telno order by telno desc limit 0,1 ; ●電話番号の形式+市外局番のCSVデータ http://www.soumu.go.jp/joho_tsusin/top/tel_number/fixed.html ●市外局番一覧 http://www.soumu.go.jp/joho_tsusin/top/tel_number/shigai_list.html

ibayac
質問者

お礼

ありがとうございます。 現在、データの中に ・半角全角が入り乱れていること(!) ・途中までしか入力してない物があること(0のみとか) 等が存在する事が判明し、作戦を練り直しているところです。 データを補完した上で再度作戦をたてることにします。 丁寧に教えて頂きまして、ありがとうございました。

関連するQ&A