截断时间戳

zer*_*kms 5 sql oracle timestamp oracle11gr2

假设我有一个时间戳变量:

select timestamp '2011-02-24 08:30:42 +06:00' from dual;
Run Code Online (Sandbox Code Playgroud)

有没有办法将它"截断"为类似的东西

'2011-02-24 08:00:00 +06:00'
Run Code Online (Sandbox Code Playgroud)

(我缩短了分钟和秒钟,但离开了时区)

目标oracle版本是11g r2

Sha*_*nce 4

SQL> select to_timestamp_tz(to_char(timestamp '2011-02-24 08:30:42 +06:00', 'YYYY-MM-DD HH24 TZH:TZM'), 'YYYY-MM-DD HH24 TZH:TZM') from dual;

TO_TIMESTAMP_TZ(TO_CHAR(TIMESTAMP'2011-02-2408:30:42+06:00','YYYY-MM-DDTZH:
---------------------------------------------------------------------------
24.02.2011 8:00:00,000000000 +06:00
Run Code Online (Sandbox Code Playgroud)