Oracle-SQL中的日期是否始终为00:00:00?

Hus*_*110 2 sql oracle plsql

Heyho,

我需要从日期A 00:00:00和日期B 00:00:00(在这种情况下日期A:16.07.2010日期B:20.07.2010)完成的操作中获取一些数据,所以我写了这个选择 - 声明:

Select avg(cnt),fext from (
        Select 
            to_char(mytable.dateadded, 'DD.MM.YYYY') dateadded,
            fext, 
            count(id) cnt 
        from mytable 
        where dateadded between
            to_date('16.07.2010', 'dd,MM,YYYY') and 
            to_date('20.07.2010', 'dd,MM,YYYY')
        group by 
            to_char(mytable.dateadded, 'DD.MM.YYYY'),
            fext)
group by fext;
Run Code Online (Sandbox Code Playgroud)

原始(和工作)声明具有:

    to_date('16.07.2010 00:00:00', 'dd,MM,YYYY HH24:Mi:SS') and 
    to_date('20.07.2010 00:00:00', 'dd,MM,YYYY HH24:Mi:SS')
Run Code Online (Sandbox Code Playgroud)

所以问题是:是吗?

    to_date('16.07.2010', 'dd,MM,YYYY') and 
    to_date('20.07.2010', 'dd,MM,YYYY')
Run Code Online (Sandbox Code Playgroud)

已经将时间A和B设置为00:00:00?

格尔茨

Mic*_*sov 7

如果您没有指定日期的时间部分,那么它将是00:00:00.

如果你担心时间部分你总是可以截断时间部分:

Trunc(to_date('16.07.2010', 'dd.MM.YYYY')) and 
Trunc(to_date('20.07.2010', 'dd.MM.YYYY'))
Run Code Online (Sandbox Code Playgroud)