带有时间戳的Oracle trunc

RNJ*_*RNJ 3 sql oracle

我有一个我想要截断的时间戳.我在oracle中使用trunc功能.这似乎做了我想要的,但是从文档中它应该只接受日期而不是时间戳

select TRUNC(TO_DATE('22-AUG-13'), 'YEAR') from dual;
select TRUNC(to_timestamp('2013-08-22 06:00:00','YYYY-MM-DD HH24:MI:SS'), 'YEAR') from dual;
Run Code Online (Sandbox Code Playgroud)

以上两者都返回相同的结果.

我认为它的工作原理是因为时间戳是这里引用的日期格式的扩展

TIMESTAMP数据类型是DATE数据类型的扩展.它存储DATE数据类型的年,月和日,加上小时,分钟和秒值.它没有时区.TIMESTAMP数据类型具有以下形式:

我的问题是返回值的类型是什么?它总是参数值的类型吗?参数是时间戳的时间戳.参数为日期的日期.

我怎样才能找到退货类型?

谢谢

Mul*_*ync 6

来自Oracle参考:https:
//docs.oracle.com/cd/B19306_01/server.102/b14200/functions201.htm

TRUNC(日期)函数返回日期,截断日期的时间部分为格式模型fmt指定的单位.此功能对NLS_ CALENDAR会话参数不敏感.它根据公历的规则运作.即使您为date指定了不同的日期时间数据类型,返回的值也始终为数据类型DATE.