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

mySQL str_to_date()関数はエラーを返します

    NO_ZERO_DATEを無効にします SQLモード:

    set @old_sql_mode = @@sql_mode; 
    set sql_mode = ''; 
    

    ステートメントを実行します:

    UPDATE Estimates
    SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))
    

    次に、元のSQLモードを有効にします。

    set sql_mode = @old_sql_mode;
    

    NO_ZERO_DATEを無効にする モードはSTR_TO_DATEを作成します ゼロの日付を返す0000-00-00 無効な日付文字列の場合、同じ値がFROM_DAYS(0)によって返されます 。したがって、NULLIF ゼロの日付をNULLに変換します 。

    この回答 役に立ちました。



    1. SQL:1つのクエリで行を更新し、列の値を返す

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

    3. MySQLのベストプラクティスの質問:IDまたは日付で並べ替えますか?

    4. SQLの別の列に基づいて列を更新する方法