繁体   English   中英

Teradata中的日期/时间计算

[英]date/time calculations in Teradata

请帮助我在Teradata中计算一天的开始,一天的结束,月份的开始,月份的结束(以及最多3个时间)。 我想要这样的东西'2014-03-01 00:00:00.000'; 谢谢

这应该使您开始:

SELECT DATE
     , CAST(DATE AS INTEGER) AS DateInteger
     , CAST(((DATE / 100) * 100) + 1 AS DATE) AS MonthBegin
     , CAST((((DATE / 100) +1 ) * 100) + 1 AS DATE) AS NextMonthBegin
     , CAST((((DATE / 100) +1 ) * 100) + 1 AS DATE)  - 1 AS MonthEnd
     , CURRENT_TIMESTAMP(3)
     , CAST(CAST(CURRENT_TIMESTAMP(3) AS DATE) AS TIMESTAMP(3)) AS DayBegin
     , CAST((CAST(CURRENT_TIMESTAMP(3) AS DATE) + 1) AS TIMESTAMP(3)) - INTERVAL '0.001' SECOND AS DayEnd

*编辑*

SELECT CURRENT_DATE
     , CURRENT_DATE - EXTRACT( DAY FROM CURRENT_DATE) + 1 as MonthBegin
     , ADD_MONTHS(( CURRENT_DATE - EXTRACT (DAY FROM CURRENT_DATE) + 1), 1) as NextMonthBegin
     , ADD_MONTHS(( CURRENT_DATE - EXTRACT (DAY FROM CURRENT_DATE) + 1), 1) - 1 as MonthEnd
     , CURRENT_TIMESTAMP(3)
     , CAST( CAST(CURRENT_TIMESTAMP (3) AS DATE) AS TIMESTAMP (3)) AS DayBegin
     , CAST(( CAST(CURRENT_TIMESTAMP (3) AS DATE) + 1) AS TIMESTAMP (3)) - INTERVAL '0.001' SECOND AS DayEnd;

从这里应该可以将时间戳记为“月开始”,“月结束”和“下个月开始”。 让我知道您是否被卡住。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM