關於Oracle資料庫不帶日期中時分秒的查詢

2021-07-14 10:55:30 字數 1038 閱讀 9676

關於oralce資料庫 的日期時間查詢:

下面我們先來看一組日期資料

表:mydate

列:time;

1998-8-7 23:45:33.3

1998-8-7 11:22:21.5

1998-8-7 00:00:00.0

上面列出的這組日期資料我們通過sql來進行查詢

sql:

select time from mydate where time = to_date('1998-8-7','yyyy-mm-dd');

那麼會查到的只有

1998-8-7 00:00:00.0這條資料!

如果說我們要通過1998-8-7去查詢其他帶有時分秒的資料這種方式是查不出的

呢麼如何忽略掉日期後面的 時分秒呢,下面這條sql可以實現

sql:

select time from mydate where to_char(time,'yyyy-mm-dd') = '1998-8-7';

select time from mydate where time between to_date('1998-8-7 23:59:59','yyyy-mm-dd hh24:mi:ss') and sysdate

那麼會查詢到的資料就是

1998-8-7 23:45:33.3

1998-8-7 11:22:21.5

1998-8-7 00:00:00.0

其實很容易弄明白的就是,當你將你自己的時間通過to_date去轉時間的時候則預設的時分秒是00:00:00再去跟資料庫裡的資料去匹配的話是查詢不到的。

那麼我們就可以反過來,將資料庫中的時間反過來轉化為字串形式並且忽略掉時分秒,那麼就可以跟自己的時間去做對比了。

所以在不做時分秒對比的時候或者一些特殊的時間對比的時候可以先將資料庫中的時間轉成字串形式。

select time from mydate where time between to_date('1998-8-7 23:59:59','yyyy-mm-dd hh24:mi:ss') and sysdate;

ORACLE資料庫日期型別

sysdate 返回作業系統中的當前日期和時間。current date 會話的時區中的系統日期 systimestamp 報告timestamp資料型別格式的系統日期 add months sysdate,6 新增月份 add months sysdate,6 減少月份 months betwee...

oracle資料庫 日期函式用法

oracle資料庫 日期函式用法 oracle trunc 函式的用法 日期 1.select trunc sysdate from dual 2013 01 06 今天的日期為2013 01 06 2.select trunc sysdate,mm from dual 2013 01 01 返回當...

Oracle資料庫插入日期型資料

oracle資料庫插入日期型資料 往oracle資料庫中插入日期型資料 to date的用法 insert into floor values to date 2007 12 20 18 31 34 yyyy mm dd hh24 mi ss 查詢顯示 2007 12 2018 31 34.0 in...