Zjištění, zda datum koliduje – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zjištění, zda datum koliduje – MySQL – Fórum – Programujte.comZjištění, zda datum koliduje – MySQL – Fórum – Programujte.com

 

BigBear0
Stálý člen
28. 5. 2011   #1
-
0
-

Ahojte, nevím, zda se to hodí do nějakého fóra sem, ale potřebuji vytvořit dotaz, takže asi jo. Mám v databázi uložená data pomocí sloupců date_from a date_to. Na vstupu vím rozmezí datumů a potřebuji zjistit, zda toto rozmezí koliduje s čímkoliv v databázi. Nejjednodušší způsob tedy je tento:

$from = '2011-05-08';

$to = '2011-06-05';

SELECT * FROM `table` WHERE
((`date_from` < $from) AND (`date_to` > $to)) OR
((`date_from` >= $from) AND (`date_to` <= $to)) OR
((`date_from` < $from) AND (`date_to` < $to)) OR
((`date_from` > $from) AND (`date_to` > $to))

Tento dotaz se mi ale moc nelíbí, protože je časově náročný. Na "pár" záznamech to pobeží v pohodě, ale když jich tam bude deset tisíc...? Poraďte mi, prosím. Děkuji.

Nahlásit jako SPAM
IP: 94.74.255.–
NECIN DRUHYM TO, CO NECHCES, ABY ONI CINILI TOBE!
Baseilos0
Duch
28. 5. 2011   #2
-
0
-

SELECT *
FROM `table`
WHERE `date_from` BETWEEN $from AND $to
OR `date_to` BETWEEN $from AND $to

Nahlásit jako SPAM
IP: 147.229.220.–
sputnikone+1
Věrný člen
29. 5. 2011   #3
-
0
-

To Baseilos : Ještě chybí případ `date_from` < $from AND `date_to` > $to

Nahlásit jako SPAM
IP: 94.113.134.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý