[英]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.