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?
- datetime Beskrivelse
- Konvertering af andre dato- og tidstyper til datatype for datetime
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 |
|
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.