Поиск по конвертации юлианских дат в предложении 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 к строке, так что вы делаете сравнение строк вместо сравнения дат.

Другие вопросы по тегам