且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

提取日期和时间-(Teradata)

更新时间:2023-02-18 10:20:35

如果EVENT_GMT_TIMESTAMP的数据类型是TIMESTAMP,则它是简单的标准SQL:

If the datatype of EVENT_GMT_TIMESTAMP is a TIMESTAMP, it's simple Standard SQL:

CAST(EVENT_GMT_TIMESTAMP AS DATE)
CAST(EVENT_GMT_TIMESTAMP AS TIME)

如果是CHAR,则也需要应用FORMAT:

If it's a CHAR you need to apply a FORMAT, too:

CAST(CAST(EVENT_GMT_TIMESTAMP AS TIMESTAMP FORMAT 'dd/mm/yyyyBhh:mi:SS.s(6)') AS DATE)
CAST(CAST(EVENT_GMT_TIMESTAMP AS TIMESTAMP FORMAT 'dd/mm/yyyyBhh:mi:SS.s(6)') AS TIME)

要简单地更改显示格式,您需要在字符串中添加FORMAT和CAST:

For simply changing the display format you need to add a FORMAT and a CAST to a string:

CAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMI') AS CHAR(12))
or
CAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMISS') AS CHAR(14))

如果您不关心显示,只想截断秒数即可:

If you don't care about display, just want to truncate the seconds:

EVENT_GMT_TIMESTAMP - (EXTRACT(SECOND FROM EVENT_GMT_TIMESTAMP) * INTERVAL '1.000000' SECOND)

使用时间戳有点棘手:-)

Working with timestamps is a bit tricky :-)