【发布时间】:2015-01-20 15:15:46
【问题描述】:
我想将 12/8/2006 12:30:00 转换为 12/8/2006
我试过了-
1. trunc(TO_DATE (effective_date_time,'DD/MM/YYYY HH24:Mi:SS'))
2. TO_DATE (effective_date_time,'DD/MM/YYYY')
但所有这些都返回值为 12/8/0006。
为什么 Oracle 返回 0006 年而不是 2006。
【问题讨论】:
-
effective_date_time的数据类型是什么? -
我无法观察到这种行为:sqlfiddle.com/#!4/e837b/1你能详细说明一下吗?
-
有效日期时间的日期类型只有日期,我已经添加了屏幕截图
-
您不会将带时间的日期转换为仅日期 - 因为 DATE 也始终包含时间。即使你没有看到它。您的函数调用告诉数据库格式化值,以便您看不到时间片。如果您不想要 12:30:00,可以将值更新为 12/8/2006 00:00:00。
标签: sql oracle date plsql timestamp