プロが教えるわが家の防犯対策術!

MySQL 4.1.11 を使用しています。

ハイフン無しの電話番号データにハイフンをつけたいです。
現在1000以上のデータを手入力で修正中ですが、自動化できるのでしょうか?

できればGWに突入できます(笑)。
どなたか知恵をお貸し下さい。

A 回答 (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_numbe …

●市外局番一覧
http://www.soumu.go.jp/joho_tsusin/top/tel_numbe …
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/30 18:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す