В таблице столбцы date_in и date_out в виде "14.10.19"
Столбцы типа string
В программе получаю период, например, с "14.10.19" по "01.11.19"
Нужно выбрать строки, у которых date_in и date_out укладываются в выбранный интервал или если указана одна граница. Например, date_in то выбрать все, которые после этой даты
Пробовал
WHERE Date(date_in)>Date("14.10.19")
WHERE date_in>"14/10/19"
получаю строки у которых день месяца больше указанного, месяц и год игнорируются
можно написать и
DateTime dt=Convert.ToDateTime(datetime);
WHERE DAY(date_in)>dt.Day and MONTH(date_in)
и т.д. Но хотелось бы покороче.
У вас явно неверно спроектирована база данных. Выбор по диапазону дат из поля типа "строка" корректно невозможен без дополнительных преобразований. Для того, что бы избежать подобного, необходимо тип полей date_in и date_out изменить на "Дата и время" (для MS Access) через конструктор таблиц.
После этого запрос на выборку по диапазону дат будет иметь достаточно короткий и очевидный вид:
SELECT *
FROM TableName
WHERE date_in BETWEEN #10/14/2019# AND #11/1/2019#;
Хочу отдельно обратить внимание на формат констант типа дата в запросе: для MS Access они должны быть строго в формате USA: #M/D/YYYY#, то есть, даты и месяц указываются без предстоящего нуля (не 01-31 и 01-12, а 1-31 и 1-12), и месяц указывается перед датой. Разделитель - строго слеш /. Дата оборачивается с двух сторон в решетки #.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости