Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja mySQL str_to_date() zwraca błąd

Wyłącz NO_ZERO_DATE Tryb SQL:

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

Uruchom swoje oświadczenie:

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

Następnie włącz oryginalne tryby SQL:

set sql_mode = @old_sql_mode;

Wyłączanie NO_ZERO_DATE tryb sprawi, że STR_TO_DATE zwróć datę zerową 0000-00-00 dla nieprawidłowych ciągów daty, ta sama wartość jest zwracana przez FROM_DAYS(0) . Więc NULLIF przekonwertuje daty zerowe na NULL .

Ta odpowiedź był pomocny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobierać dane z bazy danych w tabeli co 15 minut?

  2. Dołącz wyniki z zapytania do tego samego wiersza wyników w PostgreSQL - Redshift

  3. MySQL - Jak znormalizować kolumnę zawierającą identyfikatory oddzielone ogranicznikami?

  4. MySQLNonTransientConnectionException:Nie można utworzyć połączenia z serwerem bazy danych

  5. Dołącz do dwóch tabel MySQL za pomocą PHP