2011-10-24 34 views
0

我有一个问题,试图在用我的表定义为decimal(17)行业里的条件与字符串存储过程使用十进制日期到SQL查询的WHERE条件

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) 

但我的查询返回零行

我很感激,如果有人能帮助我请! 谢谢

+2

为什么要将日期存储为小数? –

回答

0

这是真的没有足够的信息来找到问题。 '10-3-2011'作为decimal40817.0'10-24-2011'作为decimal40838.0。手动查看表格以查看是否有任何值落在此之间。

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

另一件事,这是使用错误的数据类型来存储某些数据的缺点之一。我没有看到将datetime作为decimal存储的任何好处。