Mysql
 sql >> база данни >  >> RDS >> Mysql

Функцията mySQL str_to_date() връща грешка

Деактивирайте NO_ZERO_DATE SQL режим:

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

Пуснете изявлението си:

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

След това активирайте оригиналните режими на SQL:

set sql_mode = @old_sql_mode;

Деактивиране на NO_ZERO_DATE режим ще направи STR_TO_DATE върнете нулева дата 0000-00-00 за невалидни низове за дата, същата стойност се връща от FROM_DAYS(0) . Така че NULLIF ще преобразува нулевите дати в NULL .

Този отговор беше полезно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изображението не се извлича от базата данни чрез път

  2. iOS – Най-добри практики за синхронизиране на основни данни и сървърни бази данни

  3. Конкатениране на низ и число в MySQL

  4. Разграничители в MySQL

  5. Грешка в синтаксиса на MySQL Десен синтаксис за използване близо до 'desc