mysql テーブルに格納されている文字を置き換えて検索したい(replace())

「090-1234-5678」を「09012345678」として検索したい

作成日:2020-07-03, 更新日:2020-07-03

基本

・「カラム:tel」に「090-1234-5678」が格納されている
・検索は「09012345678」で検索したい

▼replace()を使ってwhere句を作成

select * from 〇〇〇
where replace(`tel`, "-","") = "09012345678";

経緯

・登録する人によって、電話番号は「-」があったりなかったりするし、入れる位置が人によって異なる
・検索する人によっても同様。

あらかじめ登録時に「-」無しとすれば問題は解決するけど、すでに「-」が含まれた状態になっている。
→どうにかして保存された電話番号から「-」を消して検索したい・・・といことでreplaceにたどり着いた。