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.
- Vad är DateTime-datatypen?
- datetime Beskrivning
- Konvertera andra datum- och tidstyper till datatyp för datetime
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 |
|
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.