MySQL Select 从 1 月 1 日到昨天的值
MySQL Select Values from Jan 1 to yesterday
我有三段不同的代码。一 selects 是昨天(中午 12 点到 11:59pm)的所有值。接下来的 select 是从当月开始的所有值(在本例中是 9 月 1 日上午 12 点到 9 月 24 日 11:59pm)。第三个是“应该”select 从年初开始的所有值(1/1 上午 12 点到 9/24 11:59pm)。但是,我做错了什么,因为它从一开始(2016 年年中)就获取了所有值。请让我知道我做错了什么。
昨天:
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - interval 1 day and current_date;
本月:
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - dayofmonth(current_date) + 1 and current_date;
今年(未工作):
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - dayofyear(current_date) + 1 and current_date;
我喜欢为此使用 date_format()
;它可以很容易地截断到月份或年份,并利用 MySQL 将字符串视为日期的灵活性。
过滤从年初到今天:
LogDateTime between date_format(current_date, '%Y-01-01') and current_date
从月初开始:
LogDateTime between date_format(current_date, '%Y-%m-01') and current_date
我有三段不同的代码。一 selects 是昨天(中午 12 点到 11:59pm)的所有值。接下来的 select 是从当月开始的所有值(在本例中是 9 月 1 日上午 12 点到 9 月 24 日 11:59pm)。第三个是“应该”select 从年初开始的所有值(1/1 上午 12 点到 9/24 11:59pm)。但是,我做错了什么,因为它从一开始(2016 年年中)就获取了所有值。请让我知道我做错了什么。
昨天:
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - interval 1 day and current_date;
本月:
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - dayofmonth(current_date) + 1 and current_date;
今年(未工作):
select LogDateTime, UVindex
from monthly_new
where LogDateTime between current_date - dayofyear(current_date) + 1 and current_date;
我喜欢为此使用 date_format()
;它可以很容易地截断到月份或年份,并利用 MySQL 将字符串视为日期的灵活性。
过滤从年初到今天:
LogDateTime between date_format(current_date, '%Y-01-01') and current_date
从月初开始:
LogDateTime between date_format(current_date, '%Y-%m-01') and current_date