使用十进制日期进入sql查询where条件

时间:2011-10-24 22:59:11

标签: sql-server-2008

我有一个问题是尝试在where表条件中使用在我的表中定义为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 :(得分:0)

这确实不足以找到问题的信息。 '10-3-2011' decimal 40817.0'10-24-2011'decimal 40838.0 datetimedecimal。手动查看表格,看看是否有任何值落在这个值之间。

当你没有得到你期望的查询结果时,你真的需要分析数据和逻辑。

另一方面,这是使用错误的数据类型来存储某些数据的缺点之一。将{{1}}存储为{{1}},我认为没有任何好处。