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 DateTime-tietotyyppi?
- päivämäärä kuvaus
- Muiden päivämäärä- ja aikatyyppien muuntaminen päivämäärätietotyypiksi
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 |
|
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.