Soms omgaan met datum en tijd in SQL kan best lastig zijn. Hoewel datum en tijd eigenlijk totaal verschillende gegevenstypen zijn, worden ze vaak samengevoegd tot een datetime-datumgegevenstype. SQL-datums en tijden alleen zijn vrij eenvoudig, maar het samenvoegen van de twee kan een van de meest pijnlijke taken zijn. In dit artikel leest u in detail over SQL datetime-type.
- Wat is het gegevenstype DateTime?
- datetime Beschrijving
- Andere datum- en tijdtypen converteren naar het datetime-gegevenstype
Wat is het datetime-gegevenstype?
In SQL, datum Tijd datatype datum wordt gebruikt voor waarden die zowel datum als tijd bevatten. Microsoft definieert het als een datum gecombineerd met een tijd van de dag met fractionele seconden die is gebaseerd op een 24-uurs klok .
Specifiek voor SQL heeft veel gegevenstypen die zowel de weergave van de datum als de tijd combineren, waardoor de zaken complexer worden. De meest gebruikte is de DATETIME zoals deze aanwezig is sinds de eerdere versies van SQL. SQL haalt DATETIME-waarden op in ‘YYYY-MM-DD uu: mm: ss’ en geeft deze weer. Het ondersteunde bereik is ‘1753-01-01 00:00:00’ tot ‘9999-12-31 23: 59: 59.997’. Laten we datetime-type in meer detail bekijken.
datetime Beschrijving
Raadpleeg de volgende tabel voor meer informatie over het SQL datetime-type.
Eigendom | Waarde |
Syntaxis | datum Tijd |
Gebruik | VERKLAREN @MyDatetimedatum Tijd CREATE TABLE Table1 (Column1datum Tijd) |
Formaat | ‘DD-MM-JJJJ uu: mm: ss.nnn |
Tijdsbestek | 00:00:00 tot 23:59: 59.997 |
Elementbereiken |
|
Opslag grootte c ++ programma om een array in oplopende volgorde te sorteren | 8 bytes |
Standaardwaarde | 1900-01-01 00:00:00 |
Kalender | Gregoriaans (omvat wel het volledige aantal jaren.) |
Opmerking: De bovenstaande details zijn van toepassing op het datetime-type in Transact-SQL enSQL Server.
Dus dat is datum Tijd in SQL. Maar wat zou je doen als je een andere date &tijdtypes en je moet ze converteren naar datum Tijd type?
Andere datum- en tijdtypen converteren naar het datetime-gegevenstype
De datum Tijd gegevenstype in SQL bevat de datum en tijd, met een 3-cijferig deel van een fractie van een seconde. De nauwkeurigheid wordt afgerond op stappen van .000, .003 of .007 seconden. Dus als je een datum of tijd waarden naar datum Tijd wordt er extra informatie aan de waarde toegevoegd. Dit komt doordat de datum Tijd datatype bevat zowel datum als tijd. Dit deel van het artikel legt uit wat er gebeurt als andere datum en tijd gegevenstypen worden geconverteerd naar de datum Tijd data type.
Voorbeeld 1: impliciete conversie tussen date en datetime
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
Resultaat
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Voorbeeld 2: impliciete conversie tussen date en datetime met CAST ()
DECLARE @thedate date = '2020-12-01' SELECTEER @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
Resultaat
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Voorbeeld 3: impliciete conversie van smalldatetime naar datetime
Als de conversie van s malldatetime type, worden de uren en minuten gekopieerd. De seconden en fractionele seconden worden ingesteld op waarde 0. De volgende code toont de resultaten van het omzetten van een smalldatetime waarde voor een datum Tijd waarde.
DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECTEER @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Resultaat
@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00
Evenzo kunt u andere datum Tijd typen naar datatime typ impliciet of gebruik gips() en converteren() methoden. Raadpleeg ter referentie de onderstaande tabel om vertrouwd te raken met de formaten van alle datum- en tijdtypen.
Data type | Voorbeeld |
tijd | 12:35:29. 1234567 |
datum | 2007-05-08 |
smalldatetime | 2007-05-08 12:35:00 |
datum Tijd | 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 |
Hiermee zijn we aan het einde van dit artikel gekomen. Ik hoop dat je duidelijk bent over de inhoud die hier wordt besproken. Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.
Als u meer wilt weten over MySQL en maak kennis met deze open-source relationele database, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen.
Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van dit ‘Procedures in SQL-artikel en we nemen contact met u op.