本文介绍了选择DISTINCT(日期)多次返回相同的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的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;
这就是我拥有的:
我猜是因为秒和毫秒不同。
如何忽略Time In Date以便在我的First查询中只有一个结果?
推荐答案
尝试下面的查询,该查询只需将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
来自Oracle Docs
这篇关于选择DISTINCT(日期)多次返回相同的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!