• ベストアンサー

SQLにて特定の文字を除いた検索する方法を教えてください

SQLのSELECTで、電話番号などを検索する場合に、ハイフン(-)や、括弧を除いて検索する方法はありますか? たとえば、次のようなデータがある場合、1234567890のように、数値だけを入力して検索に引っかけたいのです。また、567890のみで後方一致をする際にも、ハイフンや確固がのぞければと思います。 1234-56-7890 1234(56)7890 良い方法があれば、教えてください。

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

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

電話番号を、括弧やハイフンを除いた形で格納しておけばいいだけでは? 検索条件で文字列演算など、列を加工するような指定をすると、インデクスを利用できず性能を出せませんよ? <SQL例> select id,telno,replace(replace(replace(telno,'-',''),'(',''),')','') as telno from t1

ocyaduke
質問者

お礼

既に数千件のデータが蓄積されているため、現状で検索する方法がないかと思っていたのですが、やはり置き換えが一番良さそうですね。 ありがとうございました。

関連するQ&A