使用Oracle trunc()的结果奇怪吗?

时间:2019-01-16 08:16:02

标签: oracle function truncate

为什么

select trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DAY') from dual;

返回

19.06.17

而不是预期的

23.06.17

我们正在使用Oracle 11。

3 个答案:

答案 0 :(得分:4)

ls.foldLeft(List.empty[Int])(_.::(_)) 格式返回一周中最接近的开始日期。根据您的数据库配置,这可能是星期日,星期一(就您而言)...

您可能需要使用DAY格式。

Oracle doc

答案 1 :(得分:1)

DAY截断到最近的SUNDAY [1]

您可以使用DD

select trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DD') from dual;

答案 2 :(得分:0)

您的格式错误,应为DD format

select trunc(to_date('23/06/2017','DD/MM/YYYY'), 'DD') from dual;
  

ROUND和TRUNC日期函数的日期格式模型

     

DDD   DD   Ĵ   天