Поиск по конвертации юлианских дат в предложении WHERE
Я извлекаю даты выставления счетов из таблицы в SQL Server 2008. Даты указаны в юлианском формате. Я преобразовал их, используя:
CONVERT(char(12), dateadd(dd, (t2.date_paid - 639906), '1/1/1753'), 101)
Отлично. Теперь, когда я пытаюсь ограничить результаты в предложении WHERE с
AND CONVERT(char(12), dateadd(dd, (t2.date_paid - 639906), '1/1/1753'), 101)
BETWEEN '07/01/2012' AND '07/31/2012'
Я получаю даты за пределами этого диапазона. t2.date_paid
колонка вернет даты 2004 года. Мысли?
1 ответ
Вы конвертируете дату, которую создали dateadd
к строке, так что вы делаете сравнение строк вместо сравнения дат.