SQL Datetime: Allt du behöver veta



Den här artikeln om sql datetime hjälper dig att förstå hur du skriver datetime och hur du konverterar från andra datum- och tidstyper till datetime

Ibland handlar det om datum och tid i SQL kan vara ganska knepigt. Medan datum och tid faktiskt är helt olika datatyper slås de ofta samman till en datatyp för datumtid. SQL-datum och tider ensamma är ganska enkla men att slå samman de två kan vara en av de mest smärtsamma uppgifterna. I den här artikeln kommer du att lära dig mer om SQL datetime-typ i detalj.

Vilken datatyp är datetime?

I SQL, datum Tid datumdatatyp används för värden som innehåller både datum och tid. Microsoft definierar det som en datum kombinerat med en tid på dagen med bråk sekunder som baseras på en 24-timmars klocka .





SQL specifikt har många datatyper som kombinerar både datum- och tidsrepresentationer som gör saker mer komplexa. Den mest använda är DATETIME eftersom den har funnits sedan de tidigare versionerna av SQL. SQL hämtar och visar DATETIME-värden i 'ÅÅÅÅ-MM-DD hh: mm: ss' -format. Det intervall som stöds är '1753-01-01 00:00:00' till '9999-12-31 23: 59: 59.997'. Låt oss utforska datatypstypen mer detaljerat.

datetime Beskrivning

Kontrollera följande tabell för att lära dig mer om SQL datetime-typen.



Fast egendom Värde

Syntax

datum Tid

Användande



FÖRKLARA @MyDatetimedatum Tid

SKAPA TABELL Tabell1 (Kolumn1datum Tid)

Formatera

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

Tidsintervall

00:00:00 till 23: 59: 59.997

Elementområden

  • ÅÅÅÅ är fyra siffror från 1753 till 9999 som representerar ett år.
  • MM är två siffror, som sträcker sig från 01 till 12, vilket motsvarar en månad under det angivna året.
  • DD är två siffror som sträcker sig från 01 till 31 beroende på månaden, vilket representerar en dag i den angivna månaden.
  • hh är två siffror, som sträcker sig från 00 till 23, som representerar timmen.
  • mm är två siffror, som sträcker sig från 00 till 59, vilket representerar minuten.
  • ss är två siffror, som sträcker sig från 00 till 59, vilket representerar den andra.
  • n * är noll till tre siffror, som sträcker sig från 0 till 999, som representerar bråkens sekunder.

Förvaringsstorlek

hur man använder ersätta i java

8 byte

Standardvärde

1900-01-01 00:00:00

Kalender

Gregorianska (inkluderar hela året.)

Notera: Detaljerna ovan gäller för datetime-typ i Transact-SQL ochSQL Server.

Så det är datum Tid i SQL. Men vad skulle du göra om du har ett annat datum &tidstyper och du måste konvertera dem till datum Tid typ?

Konvertera andra datum- och tidstyper till datatyp för datetime

De datum Tid datatyp i SQL inkluderar datum och tid, med en tresiffrig bråkdel sekund. Dess noggrannhet avrundas till steg om .000, .003 eller .007 sekunder. Så när du konverterar en datum eller tid värden till datum Tid , extra information läggs till värdet. Detta beror på att datum Tid datatypen innehåller både datum och tid. Denna del av artikeln förklarar vad som händer när andra datum och tid datatyper konverteras till datum Tid data typ.

Exempel 1: Implicit konvertering mellan datum och datumtid

DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date

Resultat

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

Exempel2: Implicit omvandling mellan datum och datatid med CAST ()

FÖRKLARA @thedate datum = '2020-12-01' VÄLJ @thedate AS 'datum', CAST (@thedate AS datetime) AS 'datetime'

Resultat

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

Exempel 3: Implicit konvertering från smalldatetime till datetime

När omvandlingen sker från s malldatid typ, timmar och minuter kopieras. Sekunderna och bråk sekunderna är inställda på värdet 0. Följande kod visar resultatet av konvertering av a smalldatetime värde till a datum Tid värde.

FÖRKLARA @smalldatetime smalldatetime = '2020-12-01 12:32' FÖRKLARA @datetime datetime = @smalldatetime VÄLJ @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Resultat

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

På samma sätt kan du konvertera andra datum Tid skriver till datatid skriv antingen implicit eller med kasta() och konvertera() metoder. För din referens, kolla in tabellen nedan för att bekanta dig med formatet för alla datum- och tidstyper.

Data typ Exempel

tid

12:35:29. 1234567

datum

2007-05-08

smalldatetime

2007-05-08 12:35:00

datum 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 detta har vi kommit till slutet av den här artikeln. Jag hoppas att du är tydlig med innehållet som diskuteras här. Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Om du vill lära dig mer om MySQL och lära känna denna open source-relationsdatabas och kolla in vår som kommer med instruktörsledad live-utbildning och verklig projektupplevelse. Denna utbildning hjälper dig att förstå MySQL på djupet och hjälper dig att behärska ämnet.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna artikel 'Procedurer i SQL så återkommer vi till dig.