ugrás a tartalomhoz

SQL - dátum kezelés

Radon · 2015. Aug. 8. (Szo), 19.44
A users táblámból azokat akarom lekérni, akikre 1 napnál régebben érkezett az első szavazat. A legelső szavazatnál a users táblában a vote_start mezőt felülírom a szavazás dátumával, de csak a legelső szavazásnál, és figyelem, hogy ez a dátum+1nap kisebb-e a mai napnál? Ha igen, akkor arra a felhasználóra már nem lehet szavazni.
Így próbálkoztam, de nem jó, kipróbáltam 1 Minute-val, de ugysem jó.
Amúgy a DATE_SUB-ot úgy kell értelmezni, hogy CURDATE+24H?
SELECT id FROM users WHERE  vote_start<DATE_SUB(CURDATE(), INTERVAL 24 HOUR)
 
1

Mi nem jó?

T.G · 2015. Aug. 8. (Szo), 22.28
Elsőre nem egészen tiszta, hogy pontosan mi is az, ami nem jó... de szerintem amúgy is túl sok redundáns infót írtál le, egyszerűbb lenne, ha azt írnád, hogy mit kaptál és hogy mit szerettél volna kapni a megadott sql utasítással.

Amúgy a DATE_SUB-ot úgy kell értelmezni, hogy CURDATE+24H?

Egyszerűen megnézheted, hogy mi lesz az eredmény:
SELECT CURDATE(), DATE_SUB(CURDATE(), INTERVAL 24 HOUR)
Illetve:
SELECT NOW(), DATE_SUB(NOW(), INTERVAL 24 HOUR)
2

A NOW az aug.08at ad meg, a

Radon · 2015. Aug. 8. (Szo), 23.15
A NOW az aug.08at ad meg, a DATE_SUB pedig aug.07-et. De most látom, hogy amúgy is rosszul írtam fel az sqlt. Ezt szeretném:
SELECT id FROM users WHERE  vote_start+1nap<NOW() 
Ezt kellene sqlre fordítani. köszi.
3

DATE_ADD

T.G · 2015. Aug. 9. (V), 08.03
Ugye azért azzal nem mondok újat, ha azt állítom, hogy a date1 + 1 nap < date2 kifejezés pontosan akkor igaz, amikor a date1 < date2 - 24 óra kifejezés igaz? Na jó, az óraátállításkor lehet, hogy kell figyelni...
Mindenesetre a DATE_ADD-hoz tartozó doksi: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
4

hehe

Radon · 2015. Aug. 9. (V), 11.14
jogos:) na átnézem újra
5

működik köszi

Radon · 2015. Aug. 9. (V), 14.26
működik köszi