Existem tabelas que controlam períodos de utilização, como aluguéis ou viagens, onde há um campo para a data inicial e outra para a final. Nestes casos, é muito comum se verificar, ao inserir um novo item, se este coincide com algum já cadastrado. Para isso execute a SQL abaixo adaptada ao seu caso: select id, dt_hr_saida, dt_hr_chegada from viagem where dt_hr_chegada > 'dt_hr_saida_novo' and dt_hr_saida < 'dt_hr_chegada_novo' Esta SQL irá retornar todos os períodos coincidentes. Veja que usei o maior e menor, pois as pontas podem coincidir, mas não se cruzar. Se o seu caso não pode nem coincidir então utilize >= e <=. Se na edição do dado deseja saber se vai bater com outro período execute a SQL abaixo adaptada ao seu caso: select id, dt_hr_saida, dt_hr_chegada from viagem where dt_hr_chegada > 'dt_hr_saida_editando' and dt_hr_saida < 'dt_hr_chegada_editando' and id <> id_editando É isso aí....
Vou postando aqui tudo que acho legal de programação que vou aprendendo e os divertidos textos em geral que recebo por email.