SqlHints.com
DateTime2 on SQL Server 2008: ssa käyttöön otettu Uusi tietotyyppi päivämäärän ja aika-arvon tallentamiseen. Kuten kohti MSDN, Microsoft ehdottaa käyttää tätä uutta tietotyyppiä uuden työn sijasta DateTime.
seuraavassa taulukossa esitetään yhteenveto tämän uuden DateTime2: n ja vanhan DateTime-tietotyypin merkittävistä eroista.
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 |
tallennuskoko | 8 tavua | 6-8 tavua Huom: parametri n on valinnainen ja jos sitä ei ole määritelty, niin murto-osa sekunnin tarkkuus on 7-numeroinen ja se voi olla 0-7-numeroinen. 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 |
Current Date and Time function | GetDate() – It returns DB Current Date and Time of DateTime tietotyyppi
Example: SELECT GETDATE() |
sysdatetime()– it returns db current date and time of datetime2 tietotyyppi
example:select sysdatetime() |
+/- Days | works
example: |
FAILS – Need to use only DateAdd function
Example: |
DATETIME2, jonka sekunnin murto-osan tarkkuus 3 on sama kuin datetime-tietotyyppi. Ja datetime 2 (3) käyttää 7 tavua tallennustilaa 8 tavun sijaan, jota vanha DateTime datatype käyttää, ja se tarjoaa myös korkeamman päivämääräalueen (ts. 0001-01-01-9999-12-31) verrattuna DateTime – tietotyyppiin. Katsotaanpa tätä esimerkin avulla.:
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
myös lukea
- Varchar vs NVarchar
- varchar vs varchar(MAX)
- Text vs Varchar(Max)
- datetime vs. datetime2
- set quoted_identifier on VS set quoted_identifier off
- tallennettu menettely vs. käyttäjän määrittelemä funktio
- ensisijainen avain vs. yksilöllinen avain
- Raiserror vs throw
- Väliaikainen taulukko vs. taulukkomuuttuja
- Len() vs. Datalength ()
- sekvenssi vs. identiteetti
- datediff vs datediff_big
- LEFT JOIN vs Left Ulompi JOIN
- RIGHT JOIN vs RIGHT OUTER JOIN
- JOIN vs INNER JOIN
- LEFT OUTER JOIN vs RIGHT OUTER JOIN
- SMALLDATETIME vs DATETIME
Union vs Union all