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

Đơn giản chỉ cần chuyển đổi số 5 chữ số trong cơ sở dữ liệu mysql thành một ngày

Để đi từ các giá trị Excel, hãy thử cách này:

select date('1899-12-30') + interval <number> days

Ví dụ:

select date('1899-12-30') + interval 40000 days

Trả về ngày 6 tháng 7 năm 2009, giống như trong Excel.

Nói cách khác, bạn có thể nhập giá trị dưới dạng số nguyên và sau đó thực hiện chuyển đổi trong SQL.

Tôi thực sự hơi ngạc nhiên vì ngày 0 trên Excel về cơ bản là ngày 0 tháng 1 năm 1900, tức là ngày 31 tháng 12 năm 1899. Tôi nghi ngờ có vấn đề với việc thiếu năm nhuận vào năm 1900. Excel có giá trị là "60" đại diện là ngày 29 tháng 2 năm 1900. Điều này thật thú vị, tôi đã không nhận ra rằng Excel có lỗi này.

Vì vậy, mã trên hoạt động, cho tất cả các giá trị lớn hơn 61.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để hiển thị chữ cái đầu tiên dưới dạng chữ hoa?

  2. Một máy chủ mysqld khác đang chạy trên lỗi cổng 3306

  3. Tính toán phần trăm từ tần suất trong MySQL

  4. Sử dụng ORDER BY và GROUP BY cùng nhau

  5. Đếm xem có bao nhiêu hàng có cùng giá trị