SqlHints.com

A DateTime2 az Sql Server 2008-ban bevezetett új adattípus a dátum és idő érték tárolására. Az MSDN szerint a Microsoft azt javasolja, hogy ezt az új adattípust használják Új munkákhoz a DateTime helyett.

az alábbi táblázat összefoglalja az új DateTime2 és a régi DateTime adattípus közötti főbb különbségeket.

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
tárolási méret 8 bájt 6-8 bájt
Megjegyzés: Az n paraméter opcionális, és ha nincs megadva, akkor tört
a másodperces pontosság 7 számjegyű, és 0-tól 7 számjegyig terjedhet. 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ális dátum és idő függvény GetDate() – visszaadja DB aktuális dátum és idő DateTime adattípus

példa: válassza GETDATE()
eredmény: 2011-09-16 13:23:18.767

sysdatetime()– visszaadja db aktuális dátum és idő datetime2 adattípus

példa:select sysdatetime()
eredmény: 2011-09-16 13:23:18.7676720

+/- napok működik

példa:
deklarálja @nowdatetime datetime = getdate() válassza @nowdatetime + 1
eredmény: 2011-09-17 13:44:31.247

sikertelen – csak DateAdd függvényt kell használni

példa:
deklarálja @nowDateTime2 DATETIME2=
SYSDATETIME()
válassza a @nowDateTime2+1
eredmény: Msg 206, 16.szint, 2. Állapot, 2. sor
operandus típusú összecsapás: a datetime2 nem kompatibilis az int

a DATETIME2 tört másodperces pontossággal 3 megegyezik a datetime adattípussal. A DateTime2 (3) 7 bájtnyi tárhelyet használ a régi DateTime adattípus által használt 8 bájt helyett, és magasabb dátumtartományt is biztosít (pl. 0001-01-01 hogy 9999-12-31) képest DateTime adattípus. Most nézzük meg ezt egy példával:

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

olvassa el még

  • Varchar vs NVarchar
  • Varchar vs Varchar(MAX)
  • Char vs Varchar
  • szöveg vs Varchar(Max)
  • Union vs Union all
  • datetime vs datetime2
  • set quoted_identifier on vs set quoted_identifier off
  • tárolt eljárás vs felhasználó által definiált függvény
  • elsődleges kulcs vs egyedi kulcs
  • Raiserror vs dobás
  • ideiglenes táblázat vs táblázat változó
  • len() vs datalength()
  • szekvencia vs identitás
  • datediff vs datediff_big
  • bal csatlakozás vs bal Külső csatlakozás
  • jobb csatlakozás vs jobb külső csatlakozás
  • csatlakozás vs Belső Csatlakozás
  • bal külső csatlakozás vs jobb külső csatlakozás
  • SMALLDATETIME vs DATETIME



Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.