こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

条件式にtrimを入れたい

Mysqlでselectする時に、条件で指定した値とDB内のデータをtrim(空白除去)した値が一致したレコードを抽出されるようにしたいのですが・・・


例えば、
あるテーブルの項目aaaの値が'あ いうえお'だとします。

条件式を where aaa='あいうえお' とした場合でもヒットさせたいのですが、どうすれば良いのでしょうか?
aaaの値の空白を除去したものと一致すればいい、という事で
select aaa from テーブル where trim(aaa)='あいうえお'
↑このようなイメージなのですが・・・

どなたか簡単なやり方を知っていれば教えて頂けませんでしょうか。
宜しくお願い致します。

投稿日時 - 2007-08-29 15:10:55

QNo.3297119

すぐに回答ほしいです

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

他の言語を含めtrimで文字列中のスペースをとるというのはあまり
聞いたことがありません。

たいてい、文字列の頭やケツのスペースをとる、二つ以上つづく
スペースを1つにする・・・などに使いますよね?

それはそうと本件については
select aaa from テーブル where replace(aaa," ","")='あいうえお'
などでいけるかもしれません。
ただwhere節にreplaceを書くと非効率的な検索になりそうなので
元データを登録する際にあらかじめスペースをとっておくように
しないとSQLの能力を発揮することは難しいとおもいます。

投稿日時 - 2007-08-29 16:33:16

お礼

回答有難うございます。上手くいきました。

>元データを登録する際にあらかじめスペースをとっておくように
>しないとSQLの能力を発揮することは難しいとおもいます。

今回はデータによっては文字列と文字列の間に空白を入れる必要がありましたが、
今後は設計段階で気をつけたいと思います。

投稿日時 - 2007-08-30 15:12:50

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)