mysql查詢昨天 一周前 一月前 一年前的資料

2021-09-20 06:33:17 字數 3123 閱讀 1431

mysql 昨天 一周前 一月前 一年前的資料 這裡主要用到了date_sub,

參考如下

**如下:

select * from yh_content

where inputtime>date_sub(curdate(), interval 1 day)

where inputtime>date_sub(curdate(), interval 1 week)

where inputtime>date_sub(curdate(), interval 1 month)

where inputtime>date_sub(curdate(), interval 1 year)

注意:如果資料庫中時間以unix時間戳的形式存放的話,在時間對比上需要更改為統一格式:

需要用unix_timestamp()轉化為unix時間戳形式對比:

**如下:

where inputtime>unix_timestamp(date_sub(curdate(), interval 1 day))

where inputtime>unix_timestamp(date_sub(curdate(), interval 1 week))

where inputtime>unix_timestamp(date_sub(curdate(), interval 1 month))

where inputtime>unix_timestamp(date_sub(curdate(), interval 1 year))

詳細請檢視mysql時間函式:date_sub、date_add、unix_timestamp等函式的用法

mysql中獲取一天、一周、一月時間資料的各種sql語句寫法

今天抽時間整理了一篇mysql中與天、周、月有關的時間資料的sql語句的各種寫法,部分是收集資料,全部手工整理,自己學習的同時,分享給大家,並首先預設建立乙個表、插入2條資料,便於部分資料的測試,其中部分名詞或函式進行了解釋說明。直入主題!

建立表:

**如下:

create table if not exists t

(id int,

addtime datetime default '0000-00-00 00:00:00′

)

新增兩條初始資料:

insert t values(1, '2012-07-12 21:00:00′);

insert t values(2, '2012-07-22 21:00:00′);

一、當天或當日插入的資料:

1、傳統對比判斷:select * from `t` where date_format(addtime,'%y-%m-%d') = date_format(now(),'%y-%m-%d')");

2、第一點的簡寫:select * from `t` where addtime >= date_format(now(),'%y-%m-%d');

3、利用函式判斷:select * from `t` where datediff(addtime,now()) =0;//推薦此方法

4、利用時間戳判斷:select * from `t` where addtime between (unix_timestamp(now()-86440)) and now();

注:返回當天時間的mysql函式有curdate()、current_date()、current_date、now()幾種;其中now()獲取的日期格式為0000-00-00 00:00:00的時間;curdate()、current_date()、current_date是獲取日期格式為0000-00-00的時間,所以返回的時間無時分秒;

1、獲取今天是一周第幾天或星期幾:select weekday(now());返回的是數字:0為周一,6為週日

2、獲取本週的第一天日期:select date_sub(now(),interval weekday(now()) day);或select date_add(now(),interval -weekday(now()) day);或 select curdate( ) – weekday( curdate( ) );

3、再寫乙個上週的第一天至現在的資料:(以表t為資料表)

select * from `t` where addtime >= date_format(date_sub(date_sub(now(), interval weekday(now()) day), interval 1 week), 『%y-%m-%d');是不是有些感覺了!

注:若你是以時間戳儲存的時間字段,那麼請用from_unixtime()函式轉換為時間格式,如:from_unixtime($timestamp)

四、mysql中將日期轉為時間戳

前三點的方法,講的都是將日期轉為相應時間常量,並沒有提到時間戳與時間的轉換,這裡把它寫出來,

1、時間戳轉日期,方法是select from_unixtime(1336542121);

2、日期轉時間戳,方法是:select unix_timestamp('2013-04-08′);

假設你的日期欄位是 create_time,表名叫test

select * from test where to_char(create_time, 'yyyy-mm-dd') >= '2015-01-01'

mysql 查詢今天,昨天,一周,一月,上月的資料

select from 表名 where to days 時間欄位名 to days now select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 sele...

下拉項,本月 前一月 前兩月 聯動js效果

第一步 先上圖 重點在查詢月初第一天和月末最後一天計算及本月 前一月 前兩月與其對應時間 第二步 看html 選時間本月 前一月前兩個月 至查詢 第三步 看js dateformat.js function 獲取當前月的第一天 function getfirstdate idx 獲取當前月的最後一天...

MySQL 統計當天 一周 一月等的資料

now 函式返回當前的日期和時間 執行sql語句時的時間 select now curdate 函式返回當前的日期 select curdate curtime 函式返回當前的時間 select curtime current date 函式返回當前的日期 select current date s...