Autor | Zpráva | ||
---|---|---|---|
Prefin Profil |
#1 · Zasláno: 1. 9. 2012, 12:47:04
Ahojda všichni.
Potřeboval bych prosím poradit s jedním dotazem. Chci sestavit dotaz, který bude vybírat z tabulky data podle datumu vložení. Problém je v tom, že datum v db je v time a já potřebuji vybrat data, vložený některý den (tj. v time() je to rozsah). Datum dne zadávám pomocí Dateditu ve formátu yyyy-mm-dd. Šlo by samozřejmě načíst vše a pak filtrovat ale přijde mi to zbytečné zatěžování. Ten dotaz by měl převést záznam času v db (time) na formát yyyy-mm-dd, porovnat se zvoleným dnem a vybrat pouze data odpovídající zadanému dni. Vím že to jde tak jsem něco zkoušel, ale přiznám se, že mám ještě znalostní mezery a času bohužel příliš málo. Díky za pomoc |
||
Taps Profil |
Prefin:
níže uvádím převod z time na formát yyyy-mm-dd $datum='2012-09-01' $Dotaz=mysql_query(" SELECT FROM_UNIXTIME(`datum`,'%Y-%m-%d') AS upravenydatum FROM tabulka WHERE upravenydatum='$datum' ") |
||
Kajman Profil |
#3 · Zasláno: 3. 9. 2012, 09:28:34
Lepší je převést začátek a konec hledaného dne do formátu, ve kterém je sloupec. Pak lze využít i případný index nad tímto sloupcem.
SELECT * FROM `tabulka` WHERE `vlozeno` BETWEEN Unix_timestamp('2012-09-01') AND Unix_timestamp('2012-09-01 23:59:59') |
||
Prefin Profil |
#4 · Zasláno: 3. 9. 2012, 11:14:03
NO to je asi ono.
Díky zkusím to. |
||
Časová prodleva: 12 let
|
0