mySQL str_to_date() function returns error

前端 未结 3 475
情书的邮戳
情书的邮戳 2021-01-13 14:30

I keep receiving an error message when trying to convert a column, CreatedDate, of string date values in my Estimates table into the mySQL date format using str_to_date(). M

3条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-13 15:10

    It's hitting blank values in your column.

    SET CreatedDate = str_to_date( '', '%c/%e/%y' )
    

    I think this outputs 0000-00-00 and that works as an invalid date if you are setting a date field to that.

    SET CreatedDate = STR_TO_DATE( IFNULL(case when CreatedDate = '' then null else createddate end,'1901-1-1'), '%c/%e/%y' )
    

    That will leave 1901-01-01 values for nulls and blank

    Added to tadman:

    SET CreatedDate = STR_TO_DATE(case when CreatedDate = '' then null else createddate end, '%c/%e/%y' )
    

    Nulls instead of 1901-01-01 if you prefer.

提交回复
热议问题