sql >> Database >  >> RDS >> Mysql

mySQL str_to_date() functie retourneert fout

Schakel NO_ZERO_DATE uit SQL-modus:

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

Voer uw verklaring uit:

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

Schakel vervolgens de originele SQL-modi in:

set sql_mode = @old_sql_mode;

NO_ZERO_DATE uitschakelen modus maakt STR_TO_DATE retournuldatum 0000-00-00 voor ongeldige datumreeksen wordt dezelfde waarde geretourneerd door FROM_DAYS(0) . Dus NULLIF converteert nuldatums naar NULL .

Dit antwoord was behulpzaam.



  1. Kan geen verbinding maken met externe MySQL-server met fout 61

  2. Hoe duplicaten op een MySQL-tabel te verwijderen?

  3. MYSQL-UPDATE met IN en subquery

  4. Hoe schrijf ik UTF-8-tekens met bulk insert in SQL Server?