我想在SQL中为报表生成器报表添加选择条件。用户将从'中选择一个'和'到'日期,例如11/1/2015
和12/31/2015
以及提示。 sql运行良好并带回一切。我试图将选择范围缩小到特定的日期范围。
表格中的日期列jsdate
为Decimal (8,0)
。当我查看此列中的日期时,它看起来像20,150,612
,20,150,609
,20,150,611
等。
我试图添加像
这样的选择标准" and cast(jsdate as date format 'mm/dd/yyyy' between 11/1/2015 and 12/31/2015
&#34 ;.
我确定我的语法有误,但我不知道如何纠正它。谢谢你的帮助......
select jsdate, jsn, junit, jmyear, jmake, jmodel, jseries, jbuyid
from vehicle_mgmt.AA0888
where jfinowngp = 'B1' and jfinownbr = '99'
答案 0 :(得分:0)
实际上Teradata使用以下公式存储日期:(年 - 1900)* 10000 +月* 100 +天,所以尝试:
select jsdate, jsn, junit, jmyear, jmake, jmodel, jseries, jbuyid
from vehicle_mgmt.AA0888
where jfinowngp = 'B1' and jfinownbr = '99' and
CAST(jsdate - 19000000 AS DATE FORMAT 'mm/dd/yyyy') between
CAST('2015/11/05' AS DATE)
and CAST('2015/12/31' AS DATE)