Jump to content
php.lv forumi

SELECT datumi


reiniger

Recommended Posts

Sveicināti.

 

man tabula ir ieraksti ar start_date un end_date.

 

id | title | start_date | end_date

1 | test1 | 2010-08-10 | 2010-08-13

2 | test2 | 2010-08-11 | 2010-08-14

 

un man ir nepieciešams atlasīt ierakstus pec laika no līdz, piemēram, 2010-08-12 lidz 2010-08-30, tas bus iekš formas ar input laukiem.

 

mans variants ko es iedomājos varētu uzskaitīt visas dienas no input ievaditā laika intervāla un tad pārbaudīt vai kāds no šiem datumiem ietilpst datubāzes laika intervālā.

 

Vai ir kāds labāks variants?

 

PS: pats vēl neesu izmēģinājis savu variantu

Link to comment
Share on other sites

Ja jāselekto tie intervāli, kuri pārklājas ar pierpasīto intervālu, tad vienkārši pārbaudi:

Vai ieraksta sākuma datums ir mazāks par pierpasītā beigu datumu un ieraksta beigu datums ir lielāks par pierpasītā sākuma datumu:

SELECT * FROM `tabula` WHERE `start_date` <= '2010-08-30' AND `end_date` >= '2010-08-12'

 

Ja jāizvada tikai tad, ja ieraksta intervāls pilnībā ierkļaujas pārbaudāmajā intervālā, tad salīdzina vai ieraksta sākuma datums ir lielāsk par pieprasītā intervālā sākuma datumu un vai ieraksta beigu datums ir mazāks par pierpasītā intervāla beigu datumu kā uzrakstīja mārcis:

SELECT * FROM `tabula` WHERE `start_date` >= '2010-08-12' AND `end_date` <= '2010-08-30'

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...