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

Sự khác biệt giữa chuyển đổi datetime trong MSExcel và SQL Server

Đặc biệt tập trung vào DATETIME, nơi cho phép các phôi từ int, có hai lý do dẫn đến sự khác biệt.

  1. Excel sử dụng cơ số 1 cho ngày tháng, SQL Server sử dụng 0, tức là 01/01/1900 khi chuyển đổi thành một số trong excel là 1, tuy nhiên, trong SQL thì nó là 0:SELECT CAST(CAST('19000101' AS DATETIME) AS INT); Sẽ cho 0.

  2. Có một lỗi cố ý trong excel để cho phép khả năng di chuyển từ Lotus mà lỗi không cố ý *. Excel coi ngày 29 tháng 2 năm 1900 là một ngày hợp lệ, nhưng năm 1900 không phải là một năm nhuận. SQL không có vấn đề này, vì vậy điều này có nghĩa là có thêm một ngày trong lịch excel.

* ( đọc thêm về điều này cho thấy nó có thể đã được cố ý hoặc được coi là không quan trọng)

BỔ SUNG

Có một Mục hỗ trợ của Microsoft ngày đó:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EF5:Không thể đính kèm tệp '{0}' dưới dạng cơ sở dữ liệu '{1}'

  2. Gói SSIS chạy lâu hơn 500 lần trên một máy chủ

  3. Cách tự động gia tăng một varchar

  4. Cách chèn Danh sách C # vào cơ sở dữ liệu bằng Dapper.NET

  5. Tập lệnh nhanh trả về tất cả các thuộc tính từ SERVERPROPERTY () trong SQL Server 2017/2019