【发布时间】:2015-11-18 06:27:09
【问题描述】:
我是一般的 SQL 新手,尤其是 Oracle。
我创建了一个日期集合 => dates 由 date (i)
组成我有一张 table 表格,其中包含 date 和 revenue 列。
当我查询时
select sum(revenue) from table where date between date(i) and date(i+1)
我无法得到正确的数字 => 值小于正确的数字。
当我制作时
select sum(revenue) from table where date between to_date(date(i),'dd-mm-yyyy') and to_date(date(i+1),'dd-mm-yyyy')
不同的故事 => 我收到空值。
只有
select sum(revenue) from table where date>=date(i) and date<=date(i+1)
效果很好。
但是为什么呢?
【问题讨论】:
-
默认格式是 yyyy-mm-dd 所以当你转换它时你会得到不同的结果
-
还有一个问题 - 当我进行查询然后在输出中看到结果时,日期显示为“dd-mm-yyyy”。这很令人困惑。所以,默认处理格式是'yyyy-mm-dd',但默认显示格式可以不同。我说的对吗?
-
@SO ReadytoHelp 谢谢,它帮助了
-
当你运行
select date from table where date>=date(i) and date<=date(i+1)时,你有什么不同吗?select date from table where date between date(i) and date(i+1) -
列
date和集合date的数据类型是什么?
标签: sql oracle date comparison