SqlHints.com

DateTime2 je nový datový typ zavedený v Sql Server 2008 pro ukládání hodnoty data a času. Podle MSDN společnost Microsoft navrhuje použít tento nový datový typ pro novou práci místo DateTime.

následující tabulka shrnuje některé hlavní rozdíly mezi tímto novým DateTime2 a starým datetime datovým typem.

DateTime DateTime2
Min Value 1753-01-01 00:00:00 0001-01-01 00:00:00
Max Value 9999-12-31 23:59:59.997 9999-12-31 23:59:59.9999999
Velikost Úložiště 8 Bajtů 6 až 8 bajtů
Poznámka: Parametr n je volitelný a pokud není uvedeno, pak frakční
sekund přesnost je 7 číslic, a to může být od 0 až 7 místné. For fractional seconds
precision <3, takes 6 bytes For fractional seconds precision 3 or 4 it will take
7 bytes For fractional seconds precision >4 it will take 8 bytes
Usage Declare @now datetime Declare @now datetime2(7)
Compliance Is not an ANSI/ISO compliant Is an ANSI/ISO compliant
Aktuální Datum a Čas funkce GetDate() – vrátí DB Aktuální Datum a Čas Datový Typ DateTime

Příklad: SELECT GETDATE()
Výsledek: 2011-09-16 13:23:18.767

SYSDATETIME()– Vrací DB Aktuální Datum a Čas, DateTime2 Typ Dat

Příklad:VYBERTE SYSDATETIME()
Výsledek: 2011-09-16 13:23:18.7676720

+/- dny FUNGUJE

Příklad:
DECLARE @nowDateTime DATETIME = GETDATE() ZVOLTE @nowDateTime + 1
Výsledek: 2011-09-17 13:44:31.247

SELŽE – je Třeba použít pouze funkce DateAdd

Příklad:
DECLARE @nowDateTime2 DATETIME2=
SYSDATETIME()
SELECT @nowDateTime2+1
Výsledek: Zpráva 206, Úroveň 16, Stav 2, Řádek 2
Operand typu clash: datetime2 je neslučitelné s int

DateTime2 s frakční sekund přesné 3 je stejný jako datový typ DateTime. A DateTime2 (3) používá 7 bajtů úložiště místo 8 bajtů, které používá starý datový typ DateTime, a také poskytuje vyšší časové období (tj. 0001-01-01 až 9999-12-31) ve srovnání s datovým typem DateTime. Nyní se podívejme na příklad:

DECLARE @nowDateTime DATETIME = GETDATE(), @nowDateTime2 DATETIME2(3)= SYSDATETIME()SELECT DATALENGTH(@nowDateTime) 'DateTime Storage Size', DATALENGTH(@nowDateTime2) 'DateTime2(3) Storage Size'
Result:DateTime Storage Size DateTime2 Storage Size --------------------- ---------------------- 8 7

PŘEČTĚTE si TAKÉ

  • Varchar vs NVarchar
  • Varchar vs Varchar(MAX)
  • vs Char Varchar
  • Text vs Varchar(Max)
  • Unie vs Unie
  • DateTime vs DateTime2
  • SADA QUOTED_IDENTIFIER NA vs SET QUOTED_IDENTIFIER OFF
  • Uložené Procedury vs Uživatelem Definované Funkce
  • Primární Klíč vs Jedinečný Klíč
  • RAISERROR vs HOD
  • Dočasné Tabulky vs Proměnné Tabulka
  • Len() vs Datadélka()
  • Sekvence vs Identity
  • DATEDIFF vs DATEDIFF_BIG
  • left JOIN vs LEVICE Vnější spojení
  • pravé spojení vs pravé vnější spojení
  • spojení vs vnitřní spojení
  • levé vnější spojení vs pravé vnější spojení
  • SMALLDATETIME vs DATETIME



Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.