- ベストアンサー
SQLにて特定の文字を除いた検索する方法を教えてください
SQLのSELECTで、電話番号などを検索する場合に、ハイフン(-)や、括弧を除いて検索する方法はありますか? たとえば、次のようなデータがある場合、1234567890のように、数値だけを入力して検索に引っかけたいのです。また、567890のみで後方一致をする際にも、ハイフンや確固がのぞければと思います。 1234-56-7890 1234(56)7890 良い方法があれば、教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
電話番号を、括弧やハイフンを除いた形で格納しておけばいいだけでは? 検索条件で文字列演算など、列を加工するような指定をすると、インデクスを利用できず性能を出せませんよ? <SQL例> select id,telno,replace(replace(replace(telno,'-',''),'(',''),')','') as telno from t1
お礼
既に数千件のデータが蓄積されているため、現状で検索する方法がないかと思っていたのですが、やはり置き換えが一番良さそうですね。 ありがとうございました。