SqlHints.com
DateTime2 er den nye datatype introduceret i Server 2008 til lagring af dato og klokkeslæt værdi. I henhold til MSDN foreslår Microsoft at bruge denne nye datatype til nyt arbejde i stedet for DateTime.
følgende tabel opsummerer nogle af de største forskelle mellem denne nye DateTime2 og den gamle DateTime-datatype.
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 |
lagringsstørrelse | 8 Bytes | 6 til 8 bytes Bemærk: Parameter n er valgfri, og hvis det ikke er angivet, så er det ikke nødvendigt, at du ikke har fraktioneret sekunder præcision er 7-cifret, og det kan være fra 0 til 7-cifret. 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 |
Aktuel dato og klokkeslæt funktion | GetDate() – det returnerer DB nuværende dato og klokkeslæt for DateTime datatype
eksempel: vælg GETDATE() |
sysdatetime()– det returnerer db nuværende dato og klokkeslæt for datetime2 datatype
eksempel:vælg sysdatetime() |
+/- dage | arbejder
eksempel: |
mislykkes – behøver kun at bruge DateAdd-funktion
eksempel: |
DATETIME2 med fraktioneret sekunder præcision på 3 er samme som datetime datatype. Og DateTime2 (3) bruger 7 bytes lagerplads i stedet for 8 byte, som old DateTime datatype bruger, og det giver også højere datointerval (dvs. 0001-01-01 til 9999-12-31) sammenlignet med DateTime datatype. Lad os nu se dette med et eksempel:
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
LÆS OGSÅ
- Varchar vs NVarchar
- varchar vs Varchar(maks)
- Char vs Varchar
- tekst vs Varchar(maks)
- datetime vs datetime2
- sæt cited_identifier on vs set cited_identifier off
- gemt procedure vs brugerdefineret funktion
- primær nøgle vs unik nøgle
- raiserror vs kaste
- midlertidig tabel vs tabelvariabel
- len() vs datalængde ()
- sekvens vs identitet
- datediff vs datediff_big
- Left Join vs left Ydre JOIN
- højre JOIN vs højre ydre JOIN
- JOIN vs indre JOIN
- venstre ydre JOIN vs højre ydre JOIN
- SMALLDATETIME vs DATETIME
Union vs union alle