・「hoge hoge」
・「hoge hoge」
・「hoge hoge hoge」
下記のようなクエリを考えたのですが全角スペースと半角スペースが入っている対象にマッチできませんでした。
SELECT * FROM `table` WHERE
replace(`column`, ' ', '') = 'hogehoge' AND
replace(`column`, ' ', '') = 'hogehoge';
SELECT * FROM `table` WHERE
replace(replace(`column`, ' ', '') , ' ', '') = 'hogehoge';
このように 半角空白を除いたものから 全角空白を除いて、一致するかしてみたらいかがでしょうか?
SELECT * FROM `table` WHERE
replace(replace(`column`, ' ', '') , ' ', '') = 'hogehoge';
このように 半角空白を除いたものから 全角空白を除いて、一致するかしてみたらいかがでしょうか?
replaceの中にreplaceって出来るんですね!
うまくマッチできました!
ありがとうございました。
ANDをORに変えればいいというような手抜き回答がきてそうな気がする~~~w
正規表現使ったほうがいいでしょうね。
CREATE TEMPORARY TABLE test(`column` TEXT); INSERT INTO test VALUES ('hoge hoge'),('hoge hoge'),('hoge hoge hoge'),('fugo fugo'),('fugo fugo'),('fugo fugo fugo'); SELECT * FROM test WHERE `column` regexp '.*hoge( | )hoge.*';
今回どこでスペースが入るか予測出来ないんですよ。
一文字区切りでやれば良いのですがシンプルではないので悩んでいました。
replaceの中にreplaceって出来るんですね!
うまくマッチできました!
ありがとうございました。