используя десятичную дату в SQL-запрос, где условие - PullRequest
0 голосов
/ 25 октября 2011

У меня есть проблема, чтобы попытаться использовать поле, определенное как decimal(17) в моей таблице, в условии где для сравнения со строкой в ​​процедуре сохранения

table1.datedecimal decimal(17)

мой sql-запрос

select field1, field2 
from table1 
where table1.datedecimal >= cast(cast('3-10-2011' as datetime) as decimal)
  and table1.datedecimal <= cast(cast('24-10-2011' as datetime) as decimal)

но мой запрос возвращает 0 строку

Я благодарен, если кто-то может мне помочь, пожалуйста !!!Спасибо

1 Ответ

0 голосов
/ 25 октября 2011

Это действительно недостаточно информации, чтобы найти проблему.'10-3-2011' как decimal равно 40817.0.'10-24-2011' как decimal равно 40838.0.Просмотрите таблицу вручную, чтобы увидеть, находится ли какое-либо из значений между этими значениями.

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

Другое дело, что это один из недостатков использования неправильных типов данных для хранения определенных данных.Я не вижу никакой выгоды хранить datetime как decimal.

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