Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разлика между конвертирането на дата и час в MSExcel и SQL Server

Концентрирайки се конкретно върху DATETIME, където прехвърлянията от int са разрешени, има две причини за несъответствието.

  1. Excel използва база 1 за дати, SQL Server използва 0, т.е. 01/01/1900 когато се преобразува в число в excel е 1, но в SQL е 0:SELECT CAST(CAST('19000101' AS DATETIME) AS INT); Ще даде 0.

  2. Има умишлена грешка в excel, за да се позволи преносимост от Lotus, където грешката не е умишлена*. Excel счита 29 февруари 1900 г. за валидна дата, но 1900 г. не е била високосна година. SQL няма този проблем, така че това означава, че има допълнителен ден в календара на Excel.

*(по-нататъшното четене на това предполага, че може да е било умишлено или да се счита за несъществено)

ДОБАВЛЕНИЕ

Има Елемент за поддръжка на Microsoft което гласи:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектите за поддръжка на диаграма на база данни не могат да бъдат инсталирани ... няма валиден собственик

  2. Какво означава ПОРЪЧАЙТЕ (ИЗБЕРЕТЕ NULL)?

  3. Извикване на дефинирана от SQL функция в C#

  4. Как да инсталирате sqlcmd &bcp на Ubuntu

  5. Получаване на ID на последния вмъкнат запис - Access DAO, ODBC, поле за самоличност на SQL Server 2008