SQL Datetime: alles wat u moet weten

Dit artikel over sql datetime zal u helpen te begrijpen hoe u datetime-typen moet en ook hoe u van andere datum- en tijdtypen naar datetime kunt converteren

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 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

  • JJJJ bestaat uit vier cijfers van 1753 tot en met 9999 die staan ​​voor een jaar.
  • MM is twee cijfers, variërend van 01 tot 12, wat staat voor een maand in het opgegeven jaar.
  • DD bestaat uit twee cijfers, variërend van 01 tot 31, afhankelijk van de maand, die een dag van de opgegeven maand vertegenwoordigt.
  • uu bestaat uit twee cijfers, variërend van 00 tot 23, die het uur vertegenwoordigen.
  • mm is twee cijfers, variërend van 00 tot 59, die de minuut vertegenwoordigen.
  • ss bestaat uit twee cijfers, variërend van 00 tot 59, die de seconde vertegenwoordigen.
  • n * is nul tot drie cijfers, variërend van 0 tot 999, die staan ​​voor de fractionele seconden.

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.