Jak to zapisac w mysql

0

Mam taki problem mam takie pola w MySQLu

 	idPodstawowy 	bigint(20) 		UNSIGNED 	Nie 	Brak 		AUTO_INCREMENT 	Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	2 	id_usersIndeks 	bigint(20) 		UNSIGNED 	Nie 	Brak 			Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	3 	id_actionsIndeks 	bigint(20) 		UNSIGNED 	Nie 	Brak 			Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	4 	date_start 	datetime 			Tak 	NULL 			Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	5 	date_end 	datetime 			Tak 	NULL 			Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	6 	long 	int(11) 			Tak 	NULL 			Zmień Zmień 	Usuń Usuń 	

    Podstawowy Podstawowy
    Jednoznaczny Jednoznaczny
    Indeks Indeks
    Przestrzenny Przestrzenny
    Pełny tekst Pełny tekst
    Więcej

	7 	if_all_day 	tinyint(4) 	

I teraz jak dodaje nową akcje to ona sprawdza czy nowa akcja nie zachodzi na akcje w bazie i to działa dobrze natomiast jak jest jest zaznaczone pole w if_all_day na 1 to ma sprawdzać czy nie cała data na chodzi tylko czas, np mamy datę 10-10-2020 12:00 - 20-10-2020 14:00 i pole if_all_day zaznaczone na 0 w tym przypadku zwróci błąd wy wszystkich datach od 10-10-2020 12:00 - 20-10-2020 14:00, ale jak zaznaczę pole w bazie pole if_all_day na 1 to w zwróci błąd w przypadku tylko 12-10-2020 13:00 - 13-10-2020 13:50 a w 12-10-2020 15:00 - 13-10-2020 17:50 już nie.

0

Mam coś takiego

select (case if_all_day when 0 then DATE(date_start)
when 1 then time(date_start)  end) as date_start2,(case if_all_day when 0 then date(date_end)
when 1 then time(date_end) end) as date_end2   from actions_plans
where (case if_all_day when 0 then DATE(date_start) 
when 1 then time(date_start)  end) <= '2020-12-17 18:00:00' and (case if_all_day when 0 then date(date_end)
when 1 then time(date_end) end) >= '2020-12-17 16:00:00';

I niech mi ktoś powie czy da się to zrobić tylko za pomoca sql np. w sql dać instrukcje, żeby wyciągnąć to czy trzeba kokombinowac z php i sprawdzać czy to pole jest równe 1 i w zaleśności od tego dać odpowiednie zapytanie ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1