Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL kentässä time() arvo

Sivun loppuun

Olli [27.08.2011 09:32:51]

#

Hei,

minulla on yhdessä Mysql kentässä arvona time() funktiolla tuotettu aikaleima.
Miten voisin hakea MySQL taulusta esimerkiksi kaikki 12. elokuuta 2011 olevat rivit?

t.Olli

The Alchemist [27.08.2011 10:59:06]

#

Muuta kokonaislukuarvot datetime-tyyppisiksi funktiolla FROM_UNIXTIME(). Sitten voit vertailla näitä arvoja suoraan merkkijonona annettuun päivämäärään.

SELECT * FROM mytable WHERE FROM_UNIXTIME(timefield) = '2011-08-12'

Olli [28.08.2011 09:43:47]

#

Kiitos tästä !

Jouduin tosin muuttamaan hieman:

SELECT * FROM varaukset WHERE FROM_UNIXTIME(aika) LIKE '%".$V."-".$K."-".$P."%'

The Alchemist [28.08.2011 12:17:51]

#

Teet jotain väärin, jos tuota pitää muuttaa. Kyseinen muoto on standardi ja se toimii suoraan ainakin MySQL:ssä, luultavasti monissa muissakin tietokantasoftissa. Päivämäärän ei edes tarvitse olla täsmälleen 'yyyy-mm-dd' vaan myös 'yy-m-dd' näytti kelpaavan.

Metabolix [28.08.2011 12:38:49]

#

Eiköhän vika ole siinä, että FROM_UNIXTIME palauttaa koko aikaleiman eli päivämäärän ja kellonajan. Oikea tarkistus olisi siis tämä:

DATE(FROM_UNIXTIME(timefield)) = '2011-08-12'

Tuon kammottavan muuttujasotkunkin voi kirjoittaa paljon helpommin:

$sql = "SELECT * FROM varaukset WHERE DATE(FROM_UNIXTIME(aika)) = '{$V}-{$K}-{$P}'";

Olli [31.08.2011 15:58:27]

#

Mutta kyllä se toimii ihan yhtä hyvin tuolla minunkin versiolla. Ainakin kun kokeilin, niin kyllä se täysin toimi.

Juice [31.08.2011 16:01:11]

#

Olli kirjoitti:

Mutta kyllä se toimii ihan yhtä hyvin tuolla minunkin versiolla. Ainakin kun kokeilin, niin kyllä se täysin toimi.

Eihän muuta ole väitettykään. Metabolix vain ehdotti selkeämpää tapaa kirjoittaa koodinpätkäsi.

Olli [31.08.2011 18:51:18]

#

ahaa no eipä sitten mitäään . Kiitoksia

Metabolix [31.08.2011 18:53:14]

#

Vika = syy sille, että ensimmäinen annettu neuvo ei sellaisenaan toiminut.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta