在我的Oracle数据库中,我有一个表格,其中Date
列为数据类型。
当我这样做时:
select distinct(MY_DATE) from MY_TABLE where extract(year from MY_DATE) = 2014;
我明白了:
当我执行此查询时:
select MY_DATE from MY_TABLE where extract(year from MY_DATE) = 2014;
这就是我所拥有的:
我想这是因为秒和毫秒的不同。
如何忽略我的fisrt查询中只有一个结果的日期时间?
答案 0 :(得分:7)
尝试下面的查询,只需将TRUNC()
添加到您的日期列中,然后再获取DISTINCT
。
select distinct(TRUNC(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;
这是因为列数据中的时间因素不同。
TRUNC()
将取消时间元素,仅保留日期
查询实际上会显示它。 TO_CHAR()
输出以指定格式保存的日期。
select TO_CHAR(MY_DATE,'MM-DD-YYYY HH24:MI:SS') from MY_TABLE where extract(year from MY_DATE) = 2014;
的TRUNC
的更多信息
答案 1 :(得分:-3)
select distinct(date(MY_DATE)) from MY_TABLE where extract(year from MY_DATE) = 2014;