sql >> Databasteknik >  >> RDS >> Mysql

mySQL str_to_date()-funktionen returnerar fel

Inaktivera NO_ZERO_DATE SQL-läge:

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

Kör ditt uttalande:

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

Aktivera sedan ursprungliga SQL-lägen:

set sql_mode = @old_sql_mode;

Inaktiverar NO_ZERO_DATE läge kommer att göra STR_TO_DATE returnera nolldatum 0000-00-00 för ogiltiga datumsträngar returneras samma värde av FROM_DAYS(0) . Alltså NULLIF kommer att konvertera noll datum till NULL .

Detta svar var till hjälp.



  1. Hur åtgärdar jag felet 'Värde utanför intervallet justerat för kolumn'?

  2. Hur skriver man ut exakt sql-fråga i zend-ramverket?

  3. Databasunderställning – Hur man gör i IRI Voracity

  4. De tre första grupperna med högsta betyg bör ha specifika poäng