sql >> Databáze >  >> RDS >> Sqlserver

Rozdíl mezi převodem data a času v MSExcel a SQL Server

Soustředíme-li se konkrétně na DATETIME, kde jsou povoleny přetypování z int, existují dva důvody pro nesrovnalost.

  1. Excel používá pro data základ 1, SQL Server používá 0, tj. 01/01/1900 při převodu na číslo v excelu je 1, ale v SQL je 0:SELECT CAST(CAST('19000101' AS DATETIME) AS INT); Dá 0.

  2. V excelu je záměrná chyba, která umožňuje přenositelnost z Lotusu, kde chyba nebyla úmyslná*. Excel považuje 29. únor 1900 za platné datum, ale rok 1900 nebyl přestupným rokem. SQL tento problém nemá, takže to znamená, že v kalendáři aplikace Excel je den navíc.

*(další čtení naznačuje, že to mohlo být úmyslné nebo považováno za nedůležité)

DODATEK

Existuje Položka podpory společnosti Microsoft to vyhovuje:



  1. Komprese textu v PostgreSQL

  2. vztah nebyl nalezen pomocí Postgres v aplikaci Eclipse Hibernate

  3. Změny datového konektoru v roce 2020

  4. AWS DMS s CDC. Aktualizační záznamy obsahují pouze aktualizované pole. Jak zahrnout všechny?