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

空の文字列とNULLのないmysqlの個別の値

    唯一の問題は、ANDの代わりにORを使用することです。

    値がNULLの場合を見てみましょう:

    • CON.EMAILADDRESS IS NOT NULL => FALSE
    • CON.EMAILADDRESS != ' ' => NULL

    FALSE OR NULL=>NULL。基準がTRUEにならないため、NULLを選択しないでください。

    また、値が空の文字列''、''、または任意の長さの場合:

    • CON.EMAILADDRESS IS NOT NULL => TRUE
    • CON.EMAILADDRESS != ' ' => FALSE

    真または偽=>真。空の文字列を選択します。

    これがあなたを混乱させたと思います。ANDの代わりにORを誤って使用したにもかかわらず、空の文字列をいくつか削除しましたが、すべてではありません。

    だから:

    WHERE CON.EMAILADDRESS IS NOT NULL AND CON.EMAILADDRESS != ' ';
    

    または、任意の文字列として!= '' NULLにすることはできません(NULL != '' => NULL、TRUEではありません)、単純に:

    WHERE CON.EMAILADDRESS != '';
    


    1. MySQLテーブル名の特殊文字

    2. 私のSQLクエリをcrmのqueryexpressionまたはfetchxmlに変換します

    3. 外部キーを変更するにはどうすればよいですか?

    4. MySQLのエクスポート/インポートで特殊文字が失われる