SQL Datetime: Kaikki mitä sinun tarvitsee tietää



Tämä sql-ajankohtaa käsittelevä artikkeli auttaa sinua ymmärtämään, kuinka päivämäärä kirjoitetaan ja kuinka muuntaa muusta päivämäärä- ja aikatyypistä päivämääräaika

Toisinaan käsitellään päivämäärää ja kellonaikaa SQL voi olla melko hankalaa. Vaikka päivämäärä ja aika ovat itse asiassa täysin erilaisia ​​tietotyyppejä, ne usein yhdistetään päivämääräpäivän tietotyyppiin. SQL-päivämäärät ja -ajat yksin ovat melko yksinkertaisia, mutta näiden kahden yhdistäminen voi olla yksi tuskallisimmista tehtävistä. Tässä artikkelissa opit yksityiskohtaisesti SQL-päivämäärätyypistä.

Mikä on päivämäärän tietotyyppi?

SQL: ssä treffiaika päivämäärän tietotyyppiä käytetään arvoihin, jotka sisältävät sekä päivämäärän että kellonajan. Microsoft määrittelee sen a päivämäärä yhdistettynä kellonaikaan ja murto-sekunteihin, joka perustuu 24 tunnin kelloon .





Erityisesti SQL: llä on monia tietotyyppejä, jotka yhdistävät sekä päivämäärä- että aikaesitykset, mikä tekee asioista monimutkaisempia. Yleisimmin käytetty on DATETIME, koska se on ollut läsnä SQL: n aikaisemmista versioista lähtien. SQL hakee ja näyttää DATETIME-arvot muodossa VVVV-KK-PP hh: mm: ss. Tuettu alue on '1753-01-01 00:00:00' - '9999-12-31 23: 59: 59.997'. Tutkitaan päivämäärätyyppiä tarkemmin.

päivämäärä kuvaus

Tarkista seuraava taulukko saadaksesi lisätietoja SQL-päivämäärätyypistä.



Omaisuus Arvo

Syntaksi

treffiaika

Käyttö



ILMOITA @MyDatetimetreffiaika

LUO TAULUKKO Taulukko1 (sarake1treffiaika)

Muoto

‘VVVV-KK-PP hh: mm: ss.nnn

Aikahaarukka

00:00:00 - 23: 59: 59,997

Elementtialueet

  • VVVV on neljä numeroa vuosina 1753–9 999, jotka edustavat vuotta.
  • MM on kaksinumeroinen, vaihdellen 01: stä 12: een, mikä edustaa kuukautta määritettynä vuonna.
  • DD on kaksinumeroinen, vaihtelee välillä 01-31 kuukaudesta riippuen, mikä edustaa määritetyn kuukauden päivää.
  • hh on kaksi numeroa, jotka vaihtelevat välillä 00 ja 23, jotka edustavat tuntia.
  • mm on kaksinumeroinen, välillä 00–59, joka edustaa minuuttia.
  • ss on kaksinumeroinen, vaihtelee välillä 00-59, mikä edustaa toista.
  • n * on nolla - kolme numeroa, jotka vaihtelevat välillä 0 - 999, jotka edustavat murto-osaa.

Varastokoko

pl sql -opetusohjelma, jossa on esimerkkejä

8 tavua

Oletusarvo

1900-01-01 00:00:00

Kalenteri

Gregoriaaninen (sisältää kaiken vuoden.)

Huomautus: Yllä olevat tiedot koskevat päivämäärätyyppiä Transact-SQL: ssä jaSQL Server.

Joten, se on treffiaika SQL: ssä. Mutta mitä tekisit, jos sinulla on muu päivämäärä jaaikatyypit ja sinun on muunnettava ne treffiaika tyyppi?

Muiden päivämäärä- ja aikatyyppien muuntaminen päivämäärätietotyypiksi

treffiaika tietotyyppi sisään SQL sisältää päivämäärän ja kellonajan, kolminumeroinen murto-sekuntien osa. Sen tarkkuus pyöristetään .000, .003 tai .007 sekunnin lisäyksin. Joten, kun muunnat a Päivämäärä tai aika arvot treffiaika , arvoon lisätään lisätietoja. Tämä johtuu siitä treffiaika tietotyyppi sisältää sekä päivämäärän että kellonajan. Artikkelin tässä osassa selitetään, mitä tapahtuu, kun muita päivämäärä ja aika tietotyypit muunnetaan treffiaika tietotyyppi.

Esimerkki 1: implisiittinen muunnos päivämäärän ja päivämäärän välillä

ILMOITA @ päiväyspäivä = '2020-12-01' ILMOITA @ päiväyspäivä = @ päiväys

Tulos

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

Esimerkki 2: Implisiittinen muunnos päivämäärän ja päivämäärän välillä käyttämällä CAST ()

ILMOITA @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'

Tulos

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

Esimerkki 3: Implisiittinen muunnos pienestä päivämäärästä päivämääräksi

Kun muunnos on peräisin s: stä malldatetime tyyppi, tunnit ja minuutit kopioidaan. Sekunnit ja murto-sekunnit asetetaan arvoon 0. Seuraava koodi näyttää a: n muuntamisen tulokset smalldatetime arvo a treffiaika arvo.

ILMOITA @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Tulos

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

Vastaavasti voit muuntaa muita treffiaika tyypit datatime kirjoita joko epäsuorasti tai käyttämällä heittää() ja muuntaa() menetelmiä. Katso viitteellesi alla olevasta taulukosta, jotta voit tutustua kaikkien päivämäärä- ja aikatyyppien muotoihin.

Tietotyyppi Esimerkki

aika

12:35:29. 1234567

Päivämäärä

2007-05-08

smalldatetime

2007-05-08 12:35:00

treffiaika

2007-05-08 12: 35: 29.123

päivämäärä2

2007-05-08 12:35:29. 1234567

datetimeoffset

2007-05-08 12: 35: 29.1234567 +12: 15

Tämän avulla olemme päässeet tämän artikkelin loppuun. Toivon, että olet selvä täällä keskustellusta sisällöstä. Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.

Jos haluat oppia lisää MySQL ja tutustu tähän avoimen lähdekoodin relaatiotietokantaan ja tutustu sitten joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa ymmärtämään MySQL: ää perusteellisesti ja auttaa sinua hallitsemaan aihetta.

Onko sinulla kysymys meille? Mainitse se tämän SQL-artikkelin kommenttiosassa, ja palaamme asiaan.