回答

收藏

提取日期和时间-(Teradata)

技术问答 技术问答 249 人阅读 | 0 人回复 | 2023-09-12

我正在尝试从Teradata在字段中提取日期和时间。+ L& O2 a# d& P, ~) _
有问题的字段是:, Q6 x$ C0 Y$ F4 O' q
VwNIMEventFct.EVENT_GMT_TIMESTAMP数据如下:, i9 Y$ S7 _* Y0 s
01/02/2012 12:18:59.306000我只想要日期和时间。/ D) B! W" S% `$ I
我尝试使用EXTRACT(Date,EXTRACT(DAY_HOUR其他人都没有成功。% [* W/ o) u5 N
DATE_FORMAT() 自用Teradata似乎无法正常工作。
" ]/ L% i( {1 t6 {% m如何从中选择日期和时间?VwNIMEventFct.EVENT_GMT_TIMESTAMP?
4 L# t) g: ?0 v                                                               
1 _7 u* B  y4 L$ l* n    解决方案:                                                                3 v. l0 M9 Z$ s* ]- E0 G) @
                                                                如果EVENT_GMT_TIMESTAMP数据类型是TIMESTAMP,这是一个简单的标准SQL:
  {  O4 s# A5 |/ }" g  kCAST(EVENT_GMT_TIMESTAMP AS DATE)CAST(EVENT_GMT_TIMESTAMP AS TIME)如果是CHAR,还需要应用FORMAT:, m, Y3 ]% s5 j9 S& i
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)编辑:/ N/ u! B* z7 F" m" Q
为了简单地更改显示格式,您需要在字符串中添加FORMAT和CAST:/ ~6 l9 Y% n, P$ H6 y& B
CAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMI') AS CHAR(12))orCAST(CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMISS') AS CHAR(14))假如你不在乎显示,只想截断秒数:
$ l8 M" P" k5 y) h7 XEVENT_GMT_TIMESTAMP - (EXTRACT(SECOND FROM EVENT_GMT_TIMESTAMP) * INTERVAL '1.000000' SECOND)使用时间戳有点棘手:-)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则