小编drk*_*drk的帖子

Oracle 23c ROUND 与 DATE 数据类型

我遇到过 Oracle 23c 的奇怪行为。据我了解,ROUND 函数中缺少第二个参数应该与显式放置“DAY”参数完全相同。

  SELECT TO_DATE('2024-06-26 15:02:18','YYYY-MM-DD HH24:MI:SS')               AS result                     
     , ROUND(TO_DATE('2024-06-26 15:02:18','YYYY-MM-DD HH24:MI:SS')     )         AS default_result
     , ROUND(TO_DATE('2024-06-26 15:02:18','YYYY-MM-DD HH24:MI:SS')   , 'DAY')    AS day_explicit
  ;
Run Code Online (Sandbox Code Playgroud)

根据 Oracle文档“如果省略 fmt,则日期将四舍五入到最近的一天”,“DAY”参数仅表示“DAY”。

结果看起来像这样 -> day_explicit 列不应该像2024-06-27吗? 在此输入图像描述

sql oracle date rounding

2
推荐指数
1
解决办法
59
查看次数

标签 统计

date ×1

oracle ×1

rounding ×1

sql ×1