日期型別比較

2021-06-01 06:31:02 字數 1966 閱讀 9893

表:user ( id, createdon ) ——(id,建立時間)

situation #1

查出所有建立時間在2023年9月1日之後的記錄。

# mysql (最簡單了)

select * from user where createdon>'2011-09-01'
# mysql的日期處理能力很強大,可以精確到年、月、日、時、分、秒、毫秒。

# 例如:

select * from user where createdon>='2011-09'

會查出所有建立時間在2023年9月之後的記錄。

#oracle

select * from user where trunc(createdon)>trunc(to_date('2011-09-01', 'yyyy-mm-dd'))

# trunc() 是oracle的內建函式,它將日期資料轉換為yyyy/mm/dd的格式。

更詳細的內容可參考trunc function (with dates)或者trunc (date)。

附:mysql 為日期增加乙個時間間隔:date_add()

set @dt = now();

select date_add(@dt, interval 1 day); -- add 1 day

select date_add(@dt, interval 1 hour); -- add 1 hour

select date_add(@dt, interval 1 minute); -- ...

select date_add(@dt, interval 1 second);

select date_add(@dt, interval 1 microsecond);

select date_add(@dt, interval 1 week);

select date_add(@dt, interval 1 month);

select date_add(@dt, interval 1 quarter);

select date_add(@dt, interval 1 year);

select date_add(@dt, interval -1 day); -- sub 1 day

situation #2

查出所有在2023年09月建立的記錄。

# mysql

select * from user where createdon>='2011-09' and createdon<'2011-10'
#oracle

select * from user where trunc(createdon, 'month')=trunc(to_date('2011-10-1', 'yyyy-mm-dd'), 'month')
# trunc() 是oracle的內建函式。更詳細的內容可參考

trunc function (with dates)或者

trunc (date)。。

hql

對於hql來說,日期是個頭疼的問題,不過可以借助hql表示式(hql expressions)來做到。

比如第二種情況,

string hql = "from user where year(createdon)=2011 and month(createdon)=9 order by createdon desc";
關於hql表示式,詳見

hql expressions。

mysql日期查詢 日期比較

1.convert轉成string,在用like查詢。select from table1 where convert varchar,yourtime,120 like 2017 06 30 2.between select from table1 where yourtime between 2...

Java日期比較

在進行業務處理時,遇到乙個需要比較日期但是不包含時分秒的判斷問題 dateformat f new dateformat yyyy mm dd if f.parse f.format user.getexpirydate before f.parse f.format new date 1 f.fo...

java日期比較

public intcompareto date anotherdate 比較兩個日期的順序。指定者 介面comparable 中的compareto 引數 anotherdate 要比較的date。返回 如果引數 date 等於此 date,則返回值0 如果此 date 在 date 引數之前,則...