Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

hàm mySQL str_to_date () trả về lỗi

Tắt NO_ZERO_DATE Chế độ SQL:

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

Chạy tuyên bố của bạn:

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

Sau đó, bật các chế độ SQL gốc:

set sql_mode = @old_sql_mode;

Đang tắt NO_ZERO_DATE chế độ sẽ làm cho STR_TO_DATE ngày trả về 0 0000-00-00 đối với chuỗi ngày không hợp lệ, giá trị tương tự được trả về bởi FROM_DAYS(0) . Vì vậy, NULLIF sẽ chuyển đổi ngày tháng 0 thành NULL .

Câu trả lời này rất hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Elo-nhiều-nhiều-nhiều - cách tải quan hệ xa một cách dễ dàng

  2. Kỹ thuật Pure-SQL để đánh số tự động các hàng trong tập kết quả

  3. Làm thế nào để bạn viết một điều kiện trong một câu lệnh MySQL select?

  4. Cách tải lên nhiều hình ảnh bằng codeigniter

  5. Giá trị trả về của các hàm được lưu trữ trong MyDAC