Dou*_*Fir 1 sql datetime teradata
我正在尝试从Teradata中的字段中提取日期和时间。
有问题的字段是:
VwNIMEventFct.EVENT_GMT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
数据如下所示:
01/02/2012 12:18:59.306000
Run Code Online (Sandbox Code Playgroud)
我只想要日期和时间。
我尝试使用EXTRACT(Date,EXTRACT(DAY_HOUR其他一些都没有成功。
DATE_FORMAT() 自从我使用Teradata以来,似乎无法正常工作。
我如何从中选择日期和时间VwNIMEventFct.EVENT_GMT_TIMESTAMP?
如果EVENT_GMT_TIMESTAMP的数据类型是TIMESTAMP,则它是简单的标准SQL:
CAST(EVENT_GMT_TIMESTAMP AS DATE)
CAST(EVENT_GMT_TIMESTAMP AS TIME)
Run Code Online (Sandbox Code Playgroud)
如果是CHAR,则也需要应用FORMAT:
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)
Run Code Online (Sandbox Code Playgroud)
编辑:
为了简单地更改显示格式,您需要在字符串中添加FORMAT和CAST:
CAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMI') AS CHAR(12))
or
CAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMISS') AS CHAR(14))
Run Code Online (Sandbox Code Playgroud)
如果您不关心显示,只想截断秒数:
EVENT_GMT_TIMESTAMP - (EXTRACT(SECOND FROM EVENT_GMT_TIMESTAMP) * INTERVAL '1.000000' SECOND)
Run Code Online (Sandbox Code Playgroud)
使用时间戳有点棘手:-)
| 归档时间: |
|
| 查看次数: |
54717 次 |
| 最近记录: |