2019年3月29日のブックマーク (1件)

  • イコール(=)vs ライク(LIKE) の巻 - 41から始めました

    ある日のこと 社内のHさんから質問が。 外注さんが、文字列である建物名の完全一致検索するときのSQLで `... where building like ? ...` って書いてきたので 「 `=` じゃないのは何故?」って聞いたら↓を意図したと回答がありました。 https://dev.mysql.com/doc/refman/5.6/ja/string-comparison-functions.html ぶっちゃけ、初めてこの仕様を知ったんですが、ご意見いただけませんでしょうか? ここでいうこの仕様とは以下のこと SQL 標準では、LIKE は文字ごとに一致を実行するため、= 比較演算子とは異なる結果が生成される可能性があります。 特に、末尾の空白は重要です。ただし、= 演算子を使って実行される CHAR や VARCHAR の比較には当てはまりません。 マジか?イコールは空白無視する

    yoku_0825
    yoku_0825 2019/03/29
    知らないとハマるやつだし、知ってても8.0で挙動が変わってハマるやつですね!!