SQLでハイフン付の文字列(電話番号)を分解する!!
「000-0000-0000」のような形式でDBに入っている(今回は、MySQL)文字列を
どうにかしてSQLだけでハイフンを区切りとして分解できねーかなと思って、
以下のようなSQLを作ってみました。
「str」の部分を「00-0000-0000」のような電話番号形式に変更してください。
–1番目(市外局番)
select substring(’str’, 1, position(’-’ IN ’str’) - 1);
–2番目(市外局番)
select substring(
’str’,
position(’-’ IN ’str’) + 1,
(
locate(’-', ’str’, (position(’-’ IN ’str’) + 1 )) -1
-
position(’-’ IN ’str’))
);–3番目(番号)
select substring(’str’, locate(’-', ’str’, (position(’-’ IN ’str’) + 1 )) + 1);
他にもっとシンプルな方法ないのだろうか!?
てかPHPとか使えば、explode()で一発ジャンと言う声が聞こえてきそうですが
どうしてもSQLだけでやりたかったんで。。。
About this entry
You’re currently reading “SQLでハイフン付の文字列(電話番号)を分解する!!,” an entry on Mj-site Blog
- Published:
- 01.26.07 / 8pm
- Category:
- MySQL
No comments
Jump to comment form | comments rss [?]