Autor Zpráva
luma64
Profil
Co popisujem nizsie spracuvam v php kode.
Chcem poprosit o radu: mam v tabulke 2 polia, ktore su DATETIME a pomocou BETWEEN po vyhodnoteni selectu ocakavam zaznam.
Datum1=2012-05-30 20:00:00
Datum2=2012-05-31 20:00:00

V inej tabulke mam stlpec napr. Hodnota = 2012-05-30 00:00:00; tento mi vznika pri importe kde mam ako vstupne hodnotu len datum (2012/05/30). Kedze je to pole DATETIME prida mi cas 00:00:00.

Ked pouzijem prikaz, ktoreho castou je .. and (Hodnota between Datum1 AND Datum2) ... nevrati sa ziaden zaznam.

Akonahle upravim hodnotu v Datum1 na 2012-05-30 00:00:00 a v Datum2 na 2012-05-31 23:59:59
zobrazi sa mi pozadovany zaznam.
Otazka: je mozne pouzit between tak aby som nemusel v kode php upravovat datumy a tak spustat select ?Aby teda automaticky uvazoval o "spodnom case dna" 00:00:00 a "hornom" 23:59:59 ?
Vdaka

Moderátor Joker: Do značky [pre] se dává jen kód, nikoli celý příspěvek!
Tori
Profil
luma64:
Dá se asi využít SQL funkce DATE (a případně přičíst jeden den k pozdějšímu času), ale řešila bych to v PHP. Když budou v SQL dotazu konstantní hodnoty, tak si MySQL může výsledek cachovat. Anebo upravit způsob výběru časů (nějaký formulář? nevím, odkud se to do PHP dostane) tak, aby se vybíralo jen datum, bez časového údaje.
luma64
Profil
Tori:
PHP - asi toto je ten spravny a jednoduchy sposob. Extrahovat len datum do terazca a pridat k nemu cas 00:00:00 resp 23:59:59.

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: