MySQL时间日期函数

-- 1.DATEDIFF(expr1,expr2): 计算两个日期相差的天数
select DATEDIFF(now(),'2021/8/20') '时间差';

-- week(Date): 获取当前周数
select week('2021/11/22');

-- 2.DATE_ADD(date,INTERVAL expr unit): 时间日期计算 +
select date_add(now(),interval 1 hour) date;
select date_add(now(),interval 1 day) date;
select date_add(now(),interval -1 day) date;

-- 3.DATE_SUB(date,INTERVAL expr unit): 时间日期计算 -
select date_sub(now(), interval 1 year) date;
select date_sub(now(), interval 1 day) date;
select date_sub(now(), interval -1 day) date;


-- 2.DATE(expr): 提取日期
select date(now()) '日期';
select date('2021/8/23 14:54:39') '日期';


-- 3.FROM_UNIXTIME(unix_timestamp,format): 从时间戳提取日期,对十位时间戳提取
select from_unixtime(1629363780,'%Y') 'date';
select from_unixtime(1629363780,'%m') 'date';
select from_unixtime(1629363780,'%d') 'date';
select from_unixtime(1629363780,'%T') 'date';
select from_unixtime(1629363780,'%H') 'date'; -- H: 24小时制 / h: 12小时制
select from_unixtime(1629363780,'%i') 'date'; -- i: 分
select from_unixtime(1629363789,'%s') 'date'; -- s: 秒
select from_unixtime(1629363780, '%Y %m %d' '%T') 'date';


-- 4.DATE_FORMAT(date,format): 格式化输出日期
select date_format(now(),'%Y') 'year';
select date_format(now(),'%m') 'month';
select date_format(now(),'%d') 'day';
select date_format(now(),'%T') 'time';
select date_format(now(),'%H') 'hour';
select date_format(now(),'%i') 'minute';
select date_format(now(),'%s') 'second';
select date_format(now(), '%Y %m %d' '%T') 'date';


select year(now()) 'year';
select month(now()) 'month';
select day(now()) 'day';
select time(now()) 'time';
select hour(now()) 'hour';
select minute(now()) 'minute';
select second(now()) 'second'; -- 秒


-- 5.STR_TO_DATE(str,format): 字符串转换成日期
select str_to_date('2021-8-23', '%Y-%m-%d') 'date';
select str_to_date('2021-8-23 10:20:30','%Y-%m-%d %H:%i:%s') result;


-- 6.CURRENT_TIMESTAMP(): 返回当前日期时间 == now()
select current_timestamp() 时间戳;

-- 7.CURRENT_DATE(): 返回当前日期
select current_date() date;

-- 8.CURRENT_TIME(): 返回当前时间
select current_time() time;



-- 9.UNIX_TIMESTAMP(): 日期转换成时间戳
select unix_timestamp() '时间戳'; 
select unix_timestamp('2021/8/24') as '时间戳';
select from_unixtime(1629735351, '%Y-%m') 'date';

MySQL官方文档
SQL练习网站, 特别难,没基础的同学先收藏,大厂业务SQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值