- ベストアンサー
PHP+PostgreSQLでのSELECT文について
PHP4+Postgres7.4での条件検索でお尋ねします。 フィールドproductに seihin△S1 ※△は半角スペースです のデータが入っています。 これをSELECT文 のlike文で seihinS1 と、半角スペースを省略しても検索できるように PHP側で工夫する方法はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PHP側で工夫する方法はないような気がします。 Postgresにあるのかどうかわかりませんが、 置換関数があるのでしたらこのように記述するのはどうでしょうか。 where 置換関数(product,' ','') like 'seihinS1' ※likeがいいのか、=がいいのかはわかりません。 含むと言う条件でしたら、'%seihinS1%'になるのかな。 保存されているデータの方の半角スペースをなくしておいて、 それをLIKEで検索する、と言う感じです。 ただ、データを全件対象に参照してしまうと思うので、 処理性能はよくないような気がします。
その他の回答 (1)
- amountainblast
- ベストアンサー率33% (63/186)
回答No.1
こんにちわ。 半角スペースの入り方にルールがあるのでしたら、まだ、対応しやすいと思います。 上記の例だと まず、 seihinだけで検索をかけて そこから取得したデータでさらに S1 で検索をかける。 ってのはダメですか? ぱっと思いついた方法ですが・・・
質問者
お礼
早速のご回答ありがとうございました。
お礼
ご回答ありがとうございます。 置換関数replaceで解決しました。 where replace (product_name,' ','') like '%$検索対象"."%'