mysql 查詢當天 本週,本月,上乙個月的資料

2021-09-05 01:15:22 字數 2505 閱讀 5451

mybatis提供了一些時間轉換函式可直接呼叫,下面舉例

select

*from 表名 where to_days(時間欄位名)

= to_days(

now())

;

select

*from 表名 where to_days(

now())

- to_days(時間欄位名)==

1;

date_sub() 函式從日期減去指定的時間間隔。

date_sub(

date

,interval expr type

)

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

# 近7天

select

*from 表名 where date_sub(curdate(),

interval

7day

)<= to_days(時間欄位名)

;# 近30天

select

*from 表名 where date_sub(curdate(),

interval

30day

)<= to_days(時間欄位名)

;# 近一周

select

*from 表名 where date_sub(curdate(),

interval

1 week)

<= to_days(時間欄位名)

;# 近乙個月

select

*from 表名 where date_sub(curdate(),

interval

1month

)<= to_days(時間欄位名)

;# 其它可參考type型別,就不一一舉例了

語法

date_format(

date

,format)

format這裡就只介紹幾個常用的,詳細的格式可去w3c檢視: 格式

描述%d

月的天,數值(00-31)

%h小時 (00-23)

%h小時 (01-12)

%i分鐘,數值(00-59)

%s秒(00-59)

%t時間, 24-小時 (hh:mm:ss))

%m月,數值(00-12)

%y年,4 位

查詢本月

select

*from 表名 where date_format( 時間欄位名,

'%y%m'

)= date_format( curdate(),

'%y%m'

)

查詢上乙個月

select

*from 表名 where period_diff( date_format(

now(),

'%y%m'

), date_format( 時間欄位名,

'%y%m'))

=1

period_diff(p1,p2)

返回週期p1和 p2 之間的月份數。p1 和p2 的格式應該為yymm或yyyymm。注意週期引數 p1和p2 不是日期值。

語法

#返回日期的一年中的季度,範圍為1到4。

quarter(

date

)

查詢本季度

select

*from 表名 where quarter(時間欄位名)

=quarter(

now())

;

查詢上一季度

select

*from 表名 where quarter(時間欄位名)

=quarter(date_sub(

now(),

interval

1 quarter)

);

select

*from 表名 where

year

(時間欄位名)

=year

(now()

);

mysql 查詢當天 本週 本月 的記錄

今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1近7天 select from 表名 where date sub curdate interva...

mySql 查詢當天 本週 本月等語句

當天 select from 表名 where date format e.createtime,y m d date format curdate y m d 昨日 select column name s from 表名 where date format 時間字段,y m d date for...

Sql 查詢當天 本週 本月記錄

sql powered by chenjiazi 查詢當天 select from info where datediff dd,datetime,getdate 0 查詢24小時內的 select from info where datediff hh,datetime,getdate 24 in...