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

Không thể chuyển đổi MySQL.DateTime thành System.DateTime với các giá trị 0000-00-00 00:00:00

Xem xét tài liệu này , có vẻ như bạn đang chỉ định hai tùy chọn trái ngược nhau (AllowZeroDateTime=trueConvertZeroDateTime=true ) và một cái có vẻ như không được liệt kê (ZeroDateTimeBehavior=ConvertToNull ).

Tôi đề nghị điều đó trừ khi bạn có dữ liệu thực tế là DateTime.MinValue mà bạn không muốn trộn lẫn với giá trị "không", bạn chỉ chỉ định ConvertZeroDateTime=true và phát hiện xem kết quả có phải là DateTime.MinValue không . Bạn chắc chắn không nên gọi reader.GetDateTime() , sau đó chuyển đổi kết quả thành một chuỗi, rồi quay lại DateTime - bạn nên tránh chuyển đổi chuỗi càng xa càng tốt, vì chúng có thể làm rối tung mọi thứ đối với bạn một cách dễ dàng.

Không thực sự rõ ràng bạn muốn giá trị chuỗi nào cho những giá trị "0" này, nhưng bạn có thể viết hoa đặc biệt cho chúng bằng DateTime.MinValue khá dễ dàng. Cá nhân tôi thực sự muốn giữ dữ liệu ở dạng "gốc" càng nhiều càng tốt thay vì chuyển đổi mọi thứ thành chuỗi, nhưng đó là một trận chiến khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân loại MYSQL với học thuyết

  2. SQL:tìm hàng và sắp xếp theo số cột phù hợp?

  3. Có sự khác biệt về hiệu suất THỰC giữa khóa chính INT và VARCHAR không?

  4. Làm cách nào để lấy số hàng được 'trả về' từ tập kết quả của một thủ tục được lưu trữ

  5. Đếm các mục nhập được liên kết với Sequelize