我們在對資料查詢或選單時經常要對指定的時間或時間段進行查詢,例如要查詢一天內的資訊,要查詢一周內的資訊,要查詢乙個月內的資料,這裡我講下date_sub函式,同時結合例項進行講解
date_sub() 函式從日期減去指定的時間間隔。
date_sub(date,interval expr type)date 引數是合法的日期表示式。
expr 引數是您希望新增的時間間隔。
type 引數可以是下列值:
type 值
microsecond
second
minute
hour
dayweek
month
quarter
year
second_microsecond
minute_microsecond
minute_second
hour_microsecond
hour_second
hour_minute
day_microsecond
day_second
day_minute
day_hour
year_month
假設我們有如下的表:
orderid
productname
orderdate
1'computer'
2012-12-29 16:25:46.635
現在,我們希望從 "orderdate" 減去 2 天。
我們使用下面的 select 語句:
select orderid,date_sub(orderdate,interval 2 day) as orderpaydate from orders結果:
orderid
orderpaydate
12012-12-27 16:25:46.635
3.複雜例項:
查詢一天:
select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();
查詢一周:
select * from table where date_sub(curdate(), interval 7 day) <= date(column_time);
查詢乙個月:
select * from table where date_sub(curdate(), interval 1 month) <= date(column_time);
查詢指定天數
select * from table where date_sub(curdate(), interval 2 day) <= date(column_time);
select * from orders where date_sub(curdate(),interval 2 week) <= date(column_time)就這麼簡單
也可以:
一天:select * from 表名 where 表字段》date_sub(curdate(), interval 1 day)");
一周:select * from 表名 where 表字段》date_sub(curdate(), interval 1 week)");
乙個月:
select * from 表名 where 表字段》date_sub(curdate(), interval 1month");
sql查詢時間段之間的資料(一天 一周等)
to days now to days change time 1 昨天的資料 change time 為時間字段 to days now to days check in 0 今天的資料 check in 為時間字段 date sub curdate interval 30 day date ch...
Mysql 按時間段 某一天 查詢
今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where datediff 字段,now 1 本週 select name,submittime from enterprise where yearweek d...
mysql查詢一天,一周,乙個月內的資料
查詢一天 select from 表名 where to days 時間欄位名 to days now select from 表名 where date 時間欄位名 curdate 昨天 select from 表名 where to days now to days 時間欄位名 1 7天 sel...