Teradata / Report Builder 3.0 两种不同数据类型之间的投射日期
Teradata / Report Buildeer 3.0 cast date between 2 different data types
我想为 Report Builder 报告添加一个 selection 标准到我的 SQL 中。用户将 select 一个 'from' 和 'to' 日期,例如 11/1/2015
和 12/31/2015
带有提示。 sql 运行良好并带回一切。我正在尝试将 selection 缩小到特定日期范围。
table 中的日期列 jsdate
是 Decimal (8,0)
。当我查看此列中的日期时,它看起来像 20,150,612
、20,150,609
、20,150,611
等
我正在尝试添加一个select离子标准,例如
"and cast(jsdate as date format 'mm/dd/yyyy' between 11/1/2015 and 12/31/2015
"。
我确定我的语法有误,但我不知道如何更正它。感谢您的帮助......
select jsdate, jsn, junit, jmyear, jmake, jmodel, jseries, jbuyid
from vehicle_mgmt.AA0888
where jfinowngp = 'B1' and jfinownbr = '99'
实际上 Teradata 使用以下公式存储日期:(year - 1900) * 10000 + month * 100 + day,所以尝试:
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)
我想为 Report Builder 报告添加一个 selection 标准到我的 SQL 中。用户将 select 一个 'from' 和 'to' 日期,例如 11/1/2015
和 12/31/2015
带有提示。 sql 运行良好并带回一切。我正在尝试将 selection 缩小到特定日期范围。
table 中的日期列 jsdate
是 Decimal (8,0)
。当我查看此列中的日期时,它看起来像 20,150,612
、20,150,609
、20,150,611
等
我正在尝试添加一个select离子标准,例如
"and cast(jsdate as date format 'mm/dd/yyyy' between 11/1/2015 and 12/31/2015
"。
我确定我的语法有误,但我不知道如何更正它。感谢您的帮助......
select jsdate, jsn, junit, jmyear, jmake, jmodel, jseries, jbuyid
from vehicle_mgmt.AA0888
where jfinowngp = 'B1' and jfinownbr = '99'
实际上 Teradata 使用以下公式存储日期:(year - 1900) * 10000 + month * 100 + day,所以尝试:
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)