Autor Zpráva
Trzostar
Profil *
Hezký den,
jsem začáteník s Mysql potřeboval bych poradit

v databázi mám sloupec - time, ve kterém jsou data ve formátu TIMESTAMP XX-XX-XX XX:XX (datum a čas zveřejnění článku)

pořeboval bych vypsat dnešní články -

poradíte jak dokončit dotaz ?

WHERE time = ...................................
Trzostar
Profil *
btw. a jak na včerejší články poradíte taky?
Kajman_
Profil *
WHERE `time` >= '2009-06-21' AND `time` <=  '2009-06-21 23:59:59'


Pro včerejší dáte 20 místo 21 :-)
petr 6
Profil
Nebylo by vhodnejsi tohle?
WHERE `time` >= '2009-06-21' AND `time` <  '2009-06-22'

Nebo jeste lepe
WHERE `time` > '2009-06-20' AND `time` <  '2009-06-22'
tiso
Profil
petr 6 - to druhé nie, lebo `time` >= '2009-06-21' je totožné s `time` >= '2009-06-21 00:00:00'
petr 6
Profil
tiso
takze plati tohle?
'2009-06-21 00:00:00' == '2009-06-21'
Kajman_
Profil *
To už ne, to jsou řetězce, nahoře se to automaticky převede na datetime, je-li v něm sloupec time. Platí toto
select cast('2009-06-21 00:00:00' as datetime) = cast('2009-06-21' as datetime)


Proto nelze použít
WHERE `time` > '2009-06-20' AND `time` < '2009-06-22'
protože např. '2009-06-20 12:30:00' je větší, ale je to předevčírem a ne včera, takže to vrátí data za dva dny s výjimkou první půlnoci.
Hausner
Profil *
To já to mám ještě složitější,
potřeboval bych vypsat víkendové akce
Kajman_
Profil *
To už bude pomalé, musí se vše přepočítávat a nepůjdou využít indexy.
dayofweek(`sloupec`) in (1,7)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: