ciao, devo creare una stringa sql che mi ricerchi alcuni record nel database secondo un data intervallo di date che ins l'utente. la data nel db mysql è salvata come americana, es: 20070728

data dal: 20070811
data al: 20070820

i miei dati hanno sia una data di inizio che di fine, possibili record:

inizio: 20070801 fine: 20070813 --> record da prendere;
inizio: 20070812 fine: 20070814 --> record da prendere;
inizio: 20070819 fine: 20070831 --> record da prendere;
inizio: 20070601 fine: 20070831 --> record da prendere;

inizio: 20070801 fine: 20070803--> record da NON prendere;
inizio: 20070821 fine: 20071003--> record da NON prendere;


come posso trovare una soluzione?
es:


WHERE
(data_inizio >= data_dal AND data_inizio <= data_al) OR

(data_fine >= data_dal AND data_fine <= data_al) OR

(data_inizio <= data_dal AND data_fine >= data_al)


così è giusto?