SQL получить диапазон дат - PullRequest
       7

SQL получить диапазон дат

0 голосов
/ 15 апреля 2019

Как я могу получить нужные мне данные, используя диапазон дат ff (от-до)?Даты в моей базе данных имеют разные форматы: м / д / гггг и мм / дд / гггг.И мне нужно получить эти даты, используя диапазон дат, предоставленный моим указателем даты.Вот мой SQL-запрос:

sql = "SELECT * FROM CIC_1047 WHERE (DOL >= '" & FormatToDate(dtFrom.value) 
AND DOL <= '" & FormatToDate(dtTo.value) & "') OR (DOL >= '" & FormatToDate2(dtFrom.value) & "' AND DOL <= '" & FormatToDate2(dtTo.value) & "') OR (DOL >= '" & FormatToDate3(dtFrom.value) & "' AND DOL <= '" & FormatToDate3(dtTo.value) & "') OR (DOL >= '" & FormatToDate4(dtFrom.value) & "' AND DOL <= '" & FormatToDate4(dtTo.value) & "') ORDER BY DOL asc, Name"

FormatToDates - мои функции даты.

1 Ответ

0 голосов
/ 15 апреля 2019

Внутренне даты SQL Server хранятся как 2 целых числа.Первое целое число - это число дат до или после базовой даты (1900/01/01).Второе целое число хранит количество тактов после полуночи, каждый такт составляет 1–300 секунды.Отрицательное число представляет дату ранее, чем 1 января 1900 года.

Пример: дата 2013-10-02 12:00:00 сохраняется как число 41547.5

Отформатируйте даты из сборщиков даты в формат ISO-8601 и попробуйте это:

sql = "SELECT * FROM CIC_1047 WHERE DOL >= '" & FormatToIsoDate(dtFrom.value) & "' AND DOL <= '" & FormatToIsoDate(dtTo.value) & "'"

https://www.sqlserver -dba.com / 2015/04 / как использовать iso-8601-для-date-and-datetime.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...