日期相关
1.当前时间,精确到时分秒
NOW()
2.当前日期,精确到日(年月日)
CURDATE()
3.当前年份
YEAR(NOW())
4.当前月
MONTH(日期字段)
5.年月日
FROM_UNIXTIME(日期字段,'%Y') 年
FROM_UNIXTIME(日期字段,'%m') 月
FROM_UNIXTIME(日期字段,'%Y-%m-%d') 年月日
6.年月日
date_format(日期字段,'%y%m%d') 年月日
7.最近时间
MAX(日期字段)
8.十分钟之内的数据
日期字段>=DATE_SUB(NOW(),INTERVAL 10 MINUTE)
9.查询日期所在季节
CONCAT(
FLOOR(
(date_format(日期字段, '%m') + 2) / 3
)
) sale
weekday() 函数和 dayofweek() ,date_format(curdate(),’%w’)类似,
都是返回“某天”在一周中的位置。
不同点在于参考的标准,
weekday:(0 = Monday, 1 = Tuesday, …, 6 = Sunday);
dayofweek:(1 = Sunday, 2 = Monday, …, 7 = Saturday)
%w 是以数字的形式来表示周中的天数( 0 = Sunday, 1=Monday, . . ., 6=Saturday),
0为周日,6为周六,跟我们一般的认知,一周是从周一开始的并不一样。
10.获取当前日期在本周的周一
方法一:
select subdate(NOW( ),weekday(NOW( )));
方法二:
(如果今天是周日获取的将是下周周一,一般适用于国外)
select subdate(curdate(),date_format(curdate(),'%w')-1)
所以要进行判断处理
select subdate(curdate(),if(date_format(curdate(),'%w')=0,7,date_format(curdate(),'%w'))-1)
11.获取当前日期在本周的周日
方法一:
select subdate(NOW( ),weekday(NOW( ))-6);
方法二:
(如果今天是周日获取的将是下周周日,一般适用于国外)
select subdate(curdate(),date_format(curdate(),'%w')-7)
同样要进行判断处理
select subdate(curdate(),if(date_format(curdate(),'%w')=0,7,date_format(curdate(),'%w'))-7)
12.当前日期前一天,也就是昨天
SELECT SUBDATE(NOW( ), 1) AS 'Yesterday'
13.当前日期后一天,也就是明天
SELECT SUBDATE(NOW( ), INTERVAL -1 DAY) AS 'Tomorrow'