• ベストアンサー

PHP+PostgreSQLでのSELECT文について

PHP4+Postgres7.4での条件検索でお尋ねします。 フィールドproductに seihin△S1 ※△は半角スペースです のデータが入っています。 これをSELECT文 のlike文で seihinS1 と、半角スペースを省略しても検索できるように PHP側で工夫する方法はないでしょうか?

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

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (776/5747)
回答No.2

PHP側で工夫する方法はないような気がします。 Postgresにあるのかどうかわかりませんが、 置換関数があるのでしたらこのように記述するのはどうでしょうか。 where 置換関数(product,' ','') like 'seihinS1'  ※likeがいいのか、=がいいのかはわかりません。   含むと言う条件でしたら、'%seihinS1%'になるのかな。 保存されているデータの方の半角スペースをなくしておいて、 それをLIKEで検索する、と言う感じです。 ただ、データを全件対象に参照してしまうと思うので、 処理性能はよくないような気がします。

longstop
質問者

お礼

ご回答ありがとうございます。 置換関数replaceで解決しました。 where replace (product_name,' ','') like '%$検索対象"."%'

その他の回答 (1)

回答No.1

こんにちわ。 半角スペースの入り方にルールがあるのでしたら、まだ、対応しやすいと思います。 上記の例だと まず、 seihinだけで検索をかけて そこから取得したデータでさらに S1 で検索をかける。 ってのはダメですか? ぱっと思いついた方法ですが・・・

longstop
質問者

お礼

早速のご回答ありがとうございました。

関連するQ&A