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()
Result: 2011-09-16 13:23:18.767

sysdatetime()– it returns db current date and time of datetime2 tietotyyppi

example:select sysdatetime()
result: 2011-09-16 13:23:18.7676720

+/- Days works

example:
declare @nowdatetime datetime = getdate() select @nowdatetime + 1
result: 2011-09-17 13:44:31.247

FAILS – Need to use only DateAdd function

Example:
DECLARE @nowdatetime 2 DATETIME2=
SYSDATETIME()
SELECT @nowdatetime 2+1
Result: Msg 206, Level 16, State 2, rivi 2
operandityyppinen yhteentörmäys: datetime2 on yhteensopimaton int

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)
  • Union vs Union all

  • 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



Vastaa

Sähköpostiosoitettasi ei julkaista.