選択クエリの列のすべての行に文字を追加することはできますか?選択クエリで一時的にMySQL列のデータにカーソルを追加する
たとえば、何かのように:私が追加しようとしているものです
"SELECT * FROM table where data+' ' LIKE '%value %'"
お知らせ+' '
、基本的に私はそれがLIKE
を使用して検索するとき、それはので、データ値の末尾にスペースを追加します最後のスペースを認識します。
選択クエリの列のすべての行に文字を追加することはできますか?選択クエリで一時的にMySQL列のデータにカーソルを追加する
たとえば、何かのように:私が追加しようとしているものです
"SELECT * FROM table where data+' ' LIKE '%value %'"
お知らせ+' '
、基本的に私はそれがLIKE
を使用して検索するとき、それはので、データ値の末尾にスペースを追加します最後のスペースを認識します。
がconcat
where concat(data, ' ') like '%value %'; <-- adding space at back
where concat(' ', data) like '%value %'; <-- adding space in-front
where concat(' ', data, ' ') like '%value %'; <-- adding space in-front, back
詳細と呼ばれている。代わりにhttp://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat
を、あなたの代わりに
where data like concat('%', rtrim(value), '%');
これはrtrim
にある値のスペースが
ノートを検索するには、この操作を行うことができます:スペースありまたはスペースなしeは一致結果に影響する可能性があります
ありがとう、しかし私は同様に前にスペースを追加できますか? – Alex
なぜ 'WHERE data LIKE'%value% ''(' value'の後に空白がないことに気付かないのですか? – deceze
@deceze彼は「値」のある単語**の終わりを見つけようとしています –
しかし、OPは単語+スペースのデータを持っていないようです – ajreal