Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbedaan antara konversi datetime di MSExcel dan SQL Server

Berkonsentrasi secara khusus pada DATETIME, di mana pemeran dari int diizinkan, ada dua alasan untuk perbedaan tersebut.

  1. Excel menggunakan basis 1 untuk tanggal, SQL Server menggunakan 0, yaitu 01/01/1900 ketika dikonversi ke angka di excel adalah 1, namun, dalam SQL itu adalah 0:SELECT CAST(CAST('19000101' AS DATETIME) AS INT); Akan memberikan 0.

  2. Ada kesalahan yang disengaja di excel untuk memungkinkan portabilitas dari Lotus di mana bug itu tidak disengaja*. Excel menganggap 29 Februari 1900 sebagai tanggal yang valid, tetapi 1900 bukan tahun kabisat. SQL tidak memiliki masalah ini, jadi ini berarti ada satu hari ekstra di kalender excel.

*(bacaan lebih lanjut tentang ini menunjukkan bahwa ini mungkin disengaja, atau dianggap tidak penting)

TAMBAHKAN

Ada Item Dukungan Microsoft yang menyatakan:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menentukan literal tanggal saat menulis kueri SQL dari SQL Server yang ditautkan ke Oracle?

  2. Cara menggunakan variabel string dalam pernyataan sql

  3. Cara Membuat Tabel dengan Batasan Kunci Asing di SQL Server - Tutorial SQL Server / TSQL Bagian 66

  4. Bagaimana cara memperbarui tabel besar dengan jutaan baris di SQL Server?

  5. Daftar Tipe Data di SQL Server 2017