SqlHints.com
DateTime2 este noul tip de date introdus în Sql Server 2008 pentru stocarea valorii datei și orei. Conform MSDN, Microsoft sugerează utilizarea acestui nou tip de date pentru lucrări noi în loc de DateTime.
tabelul următor rezumă unele dintre diferențele majore dintre acest nou DateTime2 și vechiul tip de date DateTime.
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 |
dimensiunea stocării | 8 octeți | 6 până la 8 octeți Notă: parametrul n este opțional și dacă nu este specificat atunci fracționat secunde de precizie este de 7 cifre și poate fi de la 0 la 7 cifre. 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 |
data curentă și funcția de timp | GetDate() – se întoarce DB data curentă și ora DateTime tip de date
exemplu: selectați GETDATE() |
sysdatetime()– se întoarce DB data curentă și ora datetime2 tip de date
exemplu:selectați sysdatetime() |
+/- zile | lucrări
exemplu: |
nu – necesitatea de a utiliza numai funcția DateAdd
exemplu: |
DATETIME2 cu secunde fracționare precizia 3 este aceeași cu tipul de date datetime. Și DateTime2(3) folosește 7 octeți de stocare în loc de 8 octeți pe care vechiul tip de date DateTime îl folosește și oferă, de asemenea, un interval de date mai mare (adică. 0001-01-01 la 9999-12-31) comparativ cu tipul de date DateTime. Acum, să vedem acest lucru cu un exemplu:
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
citește și
- Varchar vs NVarchar
- Varchar vs Varchar(MAX)
- Char vs Varchar
- Text vs Varchar(Max)
- Uniunea vs Uniunea toate
- datetime vs datetime2
- set quoted_identifier Pe vs set quoted_identifier off
- procedură stocată vs funcție definită de utilizator
- cheie primară vs cheie unică
- raiserror vs arunca
- masă temporară vs variabilă de masă
- Len() vs datalength()
- secvență vs identitate
- datediff vs datediff_big
- stânga alăturați-vă vs stânga Exterior se alăture
- dreapta se alăture vs exterior dreapta se alăture
- se alăture vs interior se alăture
- stânga exterior se alăture vs exterior dreapta se alăture
- SMALLDATETIME vs DATETIME