sql >> データベース >  >> RDS >> Mysql

SELECT ... WHERE id =aは、値が0の場合に結果を返すのはなぜですか

    MySQLは、数値コンテキストで文字列を数値にサイレントに変換します。

    これは、先頭の数字(数字、マイナス記号、小数点など)を変換することによって行われます。

    数字がない場合は停止します。だから:

    where id = 'a'
    

    次のように解釈されます:

    where id = 0
    

    道徳:数値定数、または数値である必要がある定数を一重引用符で囲むことは絶対にしないでください。




    1. ec2 bitnamiで(2002、ソケット'/tmp/mysql.sock'(2)を介してローカルMySQLサーバーに接続できない)を修正する方法は?

    2. SQL ServerのCHOOSE()関数に相当するMySQLとは何ですか?

    3. SQLServerテーブルからランダムな行を取得する方法-SQLServer/TSQLチュートリアルパート117

    4. org.hibernate.exception.JDBCConnectionExceptionの取得:JNDIを介してもクエリを実行できませんでした