Mysql日期常用操作

Mysql日期数据类型

在这里插入图片描述

  • Mysql保存日期格式使用 yyyy-MM-dd HH:mm:ss 的ISO 8601标准

timestamp时间戳格式
timestamp格式的使用期限是: 1970-1-1 到 2038年; timestamp格式的字段, 可以在行记录更新时, 自动更新时间.

表设计如下:
在这里插入图片描述
执行 update t_user set birthday='1980-2-12 17:09:14' where user_id=1, 可操作 birthday字段

日期格式化输出

date_format(‘日期类字段’, ‘格式化字段’)
常用占位符:

%Y 年
%m 月
%d  day of month     %j  day of year
%T 时(24小时制)    %r 时(12小时, AM PM)
%i 分
%s 秒

举例:

# 这里查看所有记录(自行插入)
select * from t_user

在这里插入图片描述

# 格式化日期输出
select user_id, user_name, DATE_FORMAT(birthday,'%Y年%m月%d日') AS birthday
from t_user

在这里插入图片描述
更多占位符可见 http://houdunren.gitee.io/note/mysql/5%20%E6%97%A5%E6%9C%9F%E6%97%B6%E9%97%B4.html#%E5%8F%82%E6%95%B0%E4%BB%8B%E7%BB%8D

时间处理函数

从日期中取值:

select user_id, user_name, year(birthday),month(birthday),day(birthday),
	hour(birthday),minute(birthday),second(birthday)
from t_user

在这里插入图片描述

计算时间差

# 以日为单位计算(向下取整)
select timestampdiff(day,birthday,now())
from t_user;

# 以年为单位计算(向下取整)
select TIMESTAMPDIFF(year,birthday,now())
from t_user;

比较时间:
直接用不等号比较

select * from t_user
where birthday BETWEEN '1993-3-2' and '1995-3-3'

select * from t_user
where birthday >= '1993-3-2'
and birthday <= '1995-3-3'

两个查询得到一样的结果

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值