Трудно отсортировать или отфильтровать, когда ваша дата имеет формат, подобный DD-MM-YYYY. В таком формате 01-01-2009 предшествует 02-01-2000!
Итак, сначала преобразуйте свою дату, указав сначала длинные годы, а короткие короткие:
YYYY-MM-DD HH:MM:SS
Такой запрос может сделать это:
select [id no],
substring(date,1,2) + '-' + substring(date,4,2) + '-' +
substring(date,7,4) + ' ' +
substring(time,1,2) + ':' + substring(time,3,2) + ':'
substring(time,5,2) as NormalDate
from YourTable
Теперь вы можете легко выбрать все строки для определенного промежутка времени:
select *
from (
select [id no],
substring(date,1,5) + '-' + substring(date,7,4) + ' ' +
substring(time,1,2) + ':' + substring(time,3,2) + ':'
substring(time,5,2) as NormalDate
from YourTable
) sub
where '2009-05-01 03:00:00' < NormalDate
and NormalDate < '2009-05-02 03:00:00'