sql >> Database teknologi >  >> RDS >> Sqlserver

Forskellen mellem datetime-konverteringer i MSExcel og SQL Server

Koncentrerer man sig specifikt om DATETIME, hvor castene fra int er tilladt, er der to årsager til uoverensstemmelsen.

  1. Excel bruger en base på 1 for datoer, SQL Server bruger 0, dvs. 01/01/1900 når det konverteres til et tal i excel er 1, men i SQL er det 0:SELECT CAST(CAST('19000101' AS DATETIME) AS INT); Vil give 0.

  2. Der er en bevidst fejl i Excel for at tillade portabilitet fra Lotus, hvor fejlen ikke var bevidst*. Excel betragter den 29. februar 1900 som en gyldig dato, men 1900 var ikke et skudår. SQL har ikke dette problem, så det betyder, at der er en ekstra dag i excel-kalenderen.

*(yderligere læsning om dette tyder på, at det kunne have været bevidst eller betragtet som uvæsentligt)

TILFØJELSE

Der er et Microsoft-supportelement der står:



  1. hvordan implementerer asp.net-applikationen på Windows Azure..?

  2. 3 måder at udtrække en værdi fra et JSON-dokument i SQLite

  3. C++ executeQuery() fejl, der viser MySQL-data fra tabel

  4. opencart - Hvordan viser man manuelt et modul i en skabelonfil?