Autor | Zpráva | ||
---|---|---|---|
RiZe Profil |
#1 · Zasláno: 29. 4. 2007, 23:43:57
Z databáze potřebuji vybrat řádky, kde hodnota sloupce session_end, který obsahuje datum, starší než týden, a kde je hodnota sloupce session_autologin 1, nebo kde je hodnota sloupce session_end starší jak teď (fce NOW()) a sloupec session_autologin má hodnotu 0. Mám složený dotaz, který mi ale vybere i řádky, kde je session_autologin 1, a přitom session_end není starší jak týden.
Dotaz
|
||
ondra_knezour Profil |
#2 · Zasláno: 30. 4. 2007, 00:28:08 · Upravil/a: ondra_knezour
hodnota sloupce session_end, který obsahuje datum, starší než týden, a kde je hodnota sloupce session_autologin 1,
(session_end < DATE_ADD(NOW(), INTERVAL 1 WEEK) AND session_autologin = '1') nebo kde je hodnota sloupce session_end starší jak teď (fce NOW()) a sloupec session_autologin má hodnotu 0. (session_end < NOW() AND session_autologin = '0') dotaz mi ale vybere i řádky, kde je session_autologin 1, a přitom session_end není starší jak týden. Tohle v původním zadání vůbec neni :) (session_end < NOW() AND session_end < DATE_ADD(NOW(), INTERVAL 1 WEEK) AND session_autologin = '0') podle toho, jakou používáš databázi by možná šlo použít něco efektivnějšího než now() a date() za sebou. Tento řádek je tady jenom proto, aby si ta zoufalost uvědomila, že se ve formátování něco změnilo. |
||
ondra_knezour Profil |
#3 · Zasláno: 30. 4. 2007, 00:49:56 · Upravil/a: ondra_knezour
Plácám blbosti
session_end < DATE_ADD(NOW(), INTERVAL 1 WEEK) čili česky sečti_data(teď(), za jeden týden) čemuž vyhoví například i dnešní datum. Řešení je DATE_SUB()nebo přičítat mínus jeden týden. |
||
RiZe Profil |
#4 · Zasláno: 30. 4. 2007, 10:14:27
Vypadá to, že už to běhá. Díky.
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0