Kshitiz Sharma Asked: 2014-03-06 01:36:58 +0800 CST2014-03-06 01:36:58 +0800 CST 2014-03-06 01:36:58 +0800 CST 为什么 Oracle 将时间存储在 DATE 列中? 772 我有一个带有日期列的表。我使用 JDBC 将 java.util.Date 对象保存到表中。 当我运行以下查询时,我得到日期以及时间值: select To_CHAR(departure_date,'DD-MM-YYYY HH:MI') from service 这告诉我日期是列也存储时间。 这是出乎意料的。日期类型不应该像整数类型那样丢弃时间值丢弃小数位数吗? oracle datatypes 1 个回答 Voted Best Answer Philᵀᴹ 2014-03-06T02:05:49+08:002014-03-06T02:05:49+08:00 Oracle 的DATE数据类型既可以用作 ANSI DATE,也可以用作TIME数据类型。这是一个只有 Oracle 知道其原因的设计决策。 我要补充一点,Oracle 并不是唯一不以这种方式遵循 ANSI SQL 标准的 RDBMS。 显然,您可以使用 删除时间部分TO_CHAR(departure_date,'DD-MM-YYYY')。
Oracle 的
DATE
数据类型既可以用作 ANSIDATE
,也可以用作TIME
数据类型。这是一个只有 Oracle 知道其原因的设计决策。我要补充一点,Oracle 并不是唯一不以这种方式遵循 ANSI SQL 标准的 RDBMS。
显然,您可以使用 删除时间部分
TO_CHAR(departure_date,'DD-MM-YYYY')
。