Sql 在Terdata中创建日期列表
我继承了一份带有两个日期提示的报告。用户从报告上的日历中选择第一个日期。然后,用户在上面的查询创建的列表中选择一个日期。如果用户在第一个提示中选择2016年3月1日,将生成以下列表:Sql 在Terdata中创建日期列表,sql,date,teradata,prompt,Sql,Date,Teradata,Prompt,我继承了一份带有两个日期提示的报告。用户从报告上的日历中选择第一个日期。然后,用户在上面的查询创建的列表中选择一个日期。如果用户在第一个提示中选择2016年3月1日,将生成以下列表: select calendar_date as DATEO from sys_calendar.CALENDAR where calendar_date between ? and cast(? as date)+31 order by calendar_date 我有两个问题: 是否有更好的查询用于生成此列表
select calendar_date as DATEO from sys_calendar.CALENDAR
where calendar_date between ? and cast(? as date)+31
order by calendar_date
我有两个问题:
我相信我们正在使用Teradata 14。
sys.calendar
非常快。或者,您可以将Teradata的PeriodExpand On
功能合并到您的Unshawn查询中,但我不知道您会发现使用它可以获得更快的性能;我想这取决于查询。至于日期格式,calendar\u date
字段已经是date
,因此我不确定您的12:00:00 am
来自哪里(可能是您的客户?)。您可以执行选择日历日期(日期,格式为“mm/dd/yyyy”)
并查看这是否有帮助。@jnevil…………谢谢。这对我很有用……刮胡子
3/1/2016 12:00:00 AM
3/2/2016 12:00:00 AM
3/3/2016 12:00:00 AM
......
3/31/2016 12:00:00 AM
4/1/2016 12:00:00 AM