DATE and DATETIME

Dates and times and times are extremely turhauttavaa tietotyypit ja SQL doesn ’ t make them any easer to work with than other languages. Vaikka päivämäärä ja aika ovat itse asiassa täysin erilaisia tietotyyppejä, ne yhdistetään usein datetime-tietotyypiksi. SQL päivämäärät ja ajat yksin ovat melko yksinkertaisia, vaikka ne vaativat erityistä muotoilua. Näiden kahden yhdistäminen voi kuitenkin olla yksi tuskallisimmista tehtävistä, joita joudut kohtaamaan varhaisvuosinasi. Hyvä nyrkkisääntö on käyttää yhteistä aikaa ja treffejä vain silloin, kun siihen on ehdottomasti tarvetta tai tulee tarve tulevaisuudessa. Selitän hetken kuluttua, miksi päivämäärät ja ajat mutkistavat asioita. Ensimmäinen, katsotaanpa, kuinka helppoa elämä, kun yksinkertaisesti työskennellä päivämäärät.

työskentely SQL-päivämäärien kanssa

meidän” käyttäjät ” – Taulukkomme:

id username first last member_since
1 ohBillNotAgain Hillary Clinton 2011-12-25
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Let’s try to get all of our members before December 25, 2011.

esimerkki

SELECT *FROM UsersWHERE member_since < '2011-12-25'

tulos

2011-12-8

2011-7-9

id käyttäjätunnus ensimmäinen viimeinen member_since
2 internetcreator al Gore
3 dontmesswithtexas George Bush

alright, sanoimme ennen 25.joulukuuta 2011, eli köyhä Hillary ei ole mukana, koska hän on sinä päivänä. Al selvisi hädin tuskin, mutta vanha George oli paljon ennen treffejämme. Meidän pitäisi puhua tapahtuneesta. Aina siihen asti, kun member_since < ”2011-12-25”, tiedetään mitä tehtiin. Voisimme varmaan arvata, mitä täällä tapahtuu, mutta minä päihitän kuolleen hevosen. Tarkistamme member_since-sarakkeestamme, onko se pienempi kuin, <, päiväyksemme, joka kirjoitettiin yksittäisissä lainauksissa nimellä ”2011-12-25”. Usein kun googlaat apua päivämäärien kanssa, näet tämän syntaksin, jota kutsutaan nimellä ”YYYY-MM-DD”, jossa Y on vuosi, M on kuukausi ja D on päivä, tietenkin. Jokainen toisto on kyseisen elementin tyhjän merkkiavaruuden symboli. Niin, haluat vain 2 numeroa kuukaudessa, koska se on järkevää, ja ehkä et välitä ensimmäinen 2 merkkiä vuoden. Sen sijaan vain kirjoittaa, YY saada 11. Easy enough, Upo the wonderful DATETIMEs

Using DATETIME in SQL

our New ”Users” Table:

id username first last last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25
3 dontMessWithTexas George Bush 2011-12-24 16:24:17

nyt yritämme saada kaikki jäsenemme, jotka ovat kirjautuneet sisään ennen 1:00 joulukuuta 24, 2011.

esimerkki

SELECT * FROM UsersWHERE last_login < '2011-12-24 13:00:00'

tulos

td>al

id käyttäjätunnus ensimmäinen viimeinen last_login
1 ohbillnotagain Hillary 2011-12-24 12:59:15
2 Gore 2011-12-24 11:53:25

Poor George… Alright, täsmälleen sama syntaksi kuin viimeksi, paitsi että vaihdoimme sarakkeen nimen ja käytimme DATETIME-merkkijonoa vertailuun. DATETIME tietotyyppi sisältää kaikki samat elementit kuin päivämäärä tietotyyppi plus aikajono. Usein viitataan ’VVVV-KK-PP HH:MM:SS’ jälleen yksittäisissä lainauksissa ja välilyönnillä, joka erottaa päivämäärämerkkijonon aikamerkkijonosta, luomme PÄIVÄMÄÄRÄMERKKIJONON vertailua varten. Hillary ja Al molemmat tehdä leikata, koska he Kirjautunut sisään ennen ’ 2011-12-24 13: 00:00 ’ katkaise aikaaika. Täällä on paljon helpompaa kuin käytännössä näyttää. Se johtuu siitä, että laitamme DATETIME merkkijono käsin. SQL: ssä on muutamia PÄIVÄMÄÄRÄFUNKTIOITA, joilla voit leikkiä, joilla voit korvata merkkijonomme:

tärkeät SQL DATE-funktiot

Huom: SQL DATE-funktiot eroavat suuresti SQL-versioiden välillä. Nämä ovat MySQL.

  • CURDATE() – saa nykyisen päivämäärän
  • CURDIME() – saa nykyisen ajan
  • nyt() – saa sekä päivämäärän että ajan (DATETIME-muodossa)

Jos et käytä MySQL: ää, harkitse vaihtoa. Vain vitsi, sellainen, mutta ei hätää, yksinkertainen kysely Google auttaa sinua löytämään oikeat SQL-toiminnot SQL-tietokantaan.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *