7
私のバックエンドの問題のトラブルシューティングには2時間かかりました。mysql、スペースは空の文字列に等しい
原因であることが確認された空の文字列のスペースに等しい:
SELECT ' ' = '';
-> 1
SELECT STRCMP(' ', '');
-> 0 /* means equal */
興味深いことに、
SELECT '' REGEXP '[ ]';
-> 0
SELECT '' REGEXP ' ';
-> 0
SELECT ' ' REGEXP ' ';
-> 1
私はこれを防ぐことはできますか?それは設定ですか?
興味深いです。しかし、通常は '' 'と' '''はプレースホルダーですから、私はすべてのクエリで=の代わりにLIKEを使いたいとは思いません... – Sebas
Buなぜ起こっているのですか?なぜ ''と ''が偽でないのですか?私はこのPostgreSQLを試してみましたが、正しい出力は 'False'ですが、MySQLではありません –
@ Code-Monk - 答えに説明を追加しました。 – billynoah