我从一个具有时间戳(6(数据类型的表中进行选择。
我想得到日期和时间,到分钟,就像这样:
目前的数据如下:03/10/2014 21:54:47.690000
我想选择这样的结果看起来像这样:03/10/2014 21:54:47
我试过这个:
SELECT CAST(EVENT_GMT_TIMESTAMP AS DATE) || (EVENT_GMT_TIMESTAMP AS TIME) AS theDate, SUM(VwNIMEventFct.DWELL_MINUTES) AS totalDwellMins
FROM RDMAVWSANDBOX.VwNIMEventFct
WHERE EXTRACT(MONTH FROM EVENT_GMT_TIMESTAMP) = 4
GROUP BY theDate
但收到一条消息"语法错误,预期单词EVENT_GMT_TIMESTAMP和AS关键字之间有什么内容">
还尝试了concat((。
有没有更好的方法,而不是串联,选择EVENT_GMT_TIMESTAMP作为日期时间,但以分钟为单位?
也按小时?
必须有一个函数可以让你选择这样的输出?
我在研究网络时发现的那些似乎在Teradata上不起作用。
我也试过这个:
SELECT CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMM')
但结果是这样的:
04/18/2014 12:20:44.384000
我需要它是这样的:
04/18/2014 12:20:44
我从未能够像我想要的那样使用时间戳格式,但这将为您提供所需的格式:
SELECT current_timestamp(6) AS ts,
( ts (FORMAT 'MM/DD/YYYY') (CHAR(10)))as DT,
cast (ts as time(6)) (char(8)) as tm,
dt ||' ' ||tm as FormattedDate
或者,还有新的改进版本,对dnoeth的赞美:
SELECT current_timestamp(6) AS ts,
ts (FORMAT 'MM/DD/YYYYbhh:mi:ss') (CHAR(19))
CAST(Column AS TIMESTAMP(0))
是进行的更好方法