SQL Datetime: Alt hvad du behøver at vide

Denne artikel om sql datetime hjælper dig med at forstå, hvordan du datetime-typen og også hvordan du konverterer fra andre dato- og tidstyper til datetime

Til tider beskæftiger sig med dato og tid i SQL kan være ret vanskelig. Mens dato og klokkeslæt faktisk er helt forskellige datatyper, flettes de ofte til en datatypedatatype for datetime. SQL datoer og tidspunkter alene er ret enkle, men at slå de to sammen kan være en af ​​de mest smertefulde opgaver. I denne artikel lærer du om SQL datetime-typen i detaljer.



Hvad er datetime-datatypen?

I SQL, dato tid datadatatype bruges til værdier, der indeholder både dato og klokkeslæt. Microsoft definerer det som en dato kombineret med et tidspunkt på dagen med brøkdele af sekunder, der er baseret på et 24-timers ur .



SQL har specifikt mange datatyper, der kombinerer både dato- og tidsrepræsentationer, der gør tingene mere komplekse. Den mest anvendte er DATETIME, da den har været til stede siden de tidligere versioner af SQL. SQL henter og viser DATETIME-værdier i 'ÅÅÅÅ-MM-DD tt: mm: ss' format. Det understøttede interval er '1753-01-01 00:00:00' til '9999-12-31 23: 59: 59.997'. Lad os undersøge datatype mere detaljeret.

datetime Beskrivelse

Tjek følgende tabel for at vide mere om SQL datetime-typen.



Ejendom Værdi

Syntaks

dato tid

Anvendelse



ERKLÆR @MyDatetimedato tid

Opret TABEL Tabel1 (Kolonne1dato tid)

Format

‘ÅÅÅÅ-MM-DD tt: mm: ss.nnn

Tidsinterval

00:00:00 til 23: 59: 59.997

Elementområder

  • ÅÅÅÅ er fire cifre fra 1753 til 9999, der repræsenterer et år.
  • MM er to cifre, der spænder fra 01 til 12, hvilket repræsenterer en måned i det angivne år.
  • DD er to cifre, der spænder fra 01 til 31 afhængigt af måneden, hvilket repræsenterer en dag i den angivne måned.
  • hh er to cifre, der spænder fra 00 til 23, der repræsenterer timen.
  • mm er to cifre, der spænder fra 00 til 59, hvilket repræsenterer minut.
  • ss er to cifre, der spænder fra 00 til 59, hvilket repræsenterer det andet.
  • n * er nul til tre cifre, der spænder fra 0 til 999, der repræsenterer brøk sekunder.

Opbevaringsstørrelse

c ++ program for at sortere en matrix i stigende rækkefølge

8 byte

Standard værdi

1900-01-01 00:00:00

Kalender

Gregoriansk (inkluderer hele året.)

Bemærk: Ovenstående detaljer gælder for datetime-typen i Transact-SQL ogSQL Server.

Så det er dato tid i SQL. Men hvad ville du gøre, hvis du har en anden dato &tidstyper, og du skal konvertere dem til dato tid type?

Konvertering af andre dato- og tidstyper til datatype for datetime

Det dato tid datatype i SQL inkluderer dato og klokkeslæt med en 3-cifret del i brøkdel af sekunder. Dets nøjagtighed afrundes i intervaller på .000, .003 eller .007 sekunder. Så når du konverterer en dato eller tid værdier til dato tid , tilføjes ekstra information til værdien. Dette skyldes, at dato tid datatypen indeholder både dato og klokkeslæt. Denne del af artiklen forklarer, hvad der sker, når andet dato og tid datatyper konverteres til dato tid datatype.

Eksempel1: Implicit konvertering mellem dato og datatid

ERKLÆR @ dato dato = '2020-12-01' ERKLÆR @datetid datetime = @ dato

Resultat

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Eksempel 2: Implicit konvertering mellem dato og datatid ved hjælp af CAST ()

ERKLÆR @datedate = '2020-12-01' VÆLG @thedate AS 'dato', CAST (@thedate AS datetime) AS 'datetime'

Resultat

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Eksempel 3: Implicit konvertering fra smalldatetime til datetime

Når konverteringen er fra s malldatid type, timer og minutter kopieres. Sekunder og brøk sekunder er indstillet til værdi 0. Følgende kode viser resultaterne af konvertering af a smalldatetime værdi til en dato tid værdi.

ERKLÆR @smalldatetime smalldatetime = '2020-12-01 12:32' ERKLÆR @datetime datetime = @smalldatetime VÆLG @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Resultat

@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00

På samme måde kan du konvertere andre dato tid typer til datatid skriv enten implicit eller ved hjælp af støbt () og konvertere() metoder. For din reference, se nedenstående tabel for at gøre dig bekendt med formaterne for alle dato- og tidstyper.

Datatype Eksempel

tid

12:35:29. 1234567

dato

2007-05-08

smalldatetime

2007-05-08 12:35:00

dato tid

2007-05-08 12: 35: 29.123

datetime2

2007-05-08 12:35:29. 1234567

datetimeoffset

2007-05-08 12: 35: 29.1234567 +12: 15

Med dette er vi kommet til slutningen af ​​denne artikel. Jeg håber, du er klar over det indhold, der diskuteres her. Sørg for at øve så meget som muligt, og vend din oplevelse tilbage.

Hvis du ønsker at lære mere om MySQL og lær denne open source relationsdatabase, og tjek derefter vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå MySQL i dybden og hjælper dig med at opnå mestring over emnet.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'Procedurer i SQL-artikel, så vender vi tilbage til dig.