Autor | Zpráva | ||
---|---|---|---|
Trzostar Profil * |
#1 · Zasláno: 21. 6. 2009, 20:57:16
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 * |
#2 · Zasláno: 21. 6. 2009, 21:29:45
btw. a jak na včerejší články poradíte taky?
|
||
Kajman_ Profil * |
#3 · Zasláno: 22. 6. 2009, 20:40:07
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 |
#4 · Zasláno: 22. 6. 2009, 23:22:25
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 |
#5 · Zasláno: 22. 6. 2009, 23:48:28
petr 6 - to druhé nie, lebo `time` >= '2009-06-21' je totožné s `time` >= '2009-06-21 00:00:00'
|
||
petr 6 Profil |
#6 · Zasláno: 23. 6. 2009, 13:29:01
tiso
takze plati tohle? '2009-06-21 00:00:00' == '2009-06-21' |
||
Kajman_ Profil * |
#7 · Zasláno: 23. 6. 2009, 15:02:22
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. |
||
Časová prodleva: 9 dní
|
|||
Hausner Profil * |
#8 · Zasláno: 2. 7. 2009, 09:05:34
To já to mám ještě složitější,
potřeboval bych vypsat víkendové akce |
||
Kajman_ Profil * |
#9 · Zasláno: 2. 7. 2009, 09:17:54
To už bude pomalé, musí se vše přepočítávat a nepůjdou využít indexy.
dayofweek(`sloupec`) in (1,7) |
||
Časová prodleva: 15 let
|
0