sql >> Databáze >  >> RDS >> Mysql

Funkce mySQL str_to_date() vrací chybu

Deaktivovat NO_ZERO_DATE Režim SQL:

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

Spusťte příkaz:

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

Poté povolte původní režimy SQL:

set sql_mode = @old_sql_mode;

Deaktivace NO_ZERO_DATE režim bude STR_TO_DATE vrátit nulové datum 0000-00-00 pro neplatné řetězce data vrátí stejnou hodnotu FROM_DAYS(0) . Takže NULLIF převede nulová data na NULL .

Tato odpověď bylo užitečné.



  1. Symfony2:Seznam měst podle země

  2. Jak ukládat datum do databáze MySQL?

  3. Jaký je ekvivalent Oracle funkce IsNull() serveru SQL?

  4. RESTful Api nebo Socket.IO