sql中timestamp和datetime之间的转换

互相转换说明:

  • 将datetime转换为timestamp格式,使用UNIX_TIMESTAMP()函数;
  • 将timestamp转换为datetime格式,使用FROM_UNIXTIME()函数;

示例如下:

1、现在数据库的datetime时间:

select now() from dual

在这里插入图片描述
2、将现在数据库的datetime时间转换为timestamp格式:

select UNIX_TIMESTAMP(now()) from dual

在这里插入图片描述
注意,字符串格式的日期存储也可以直接转换为时间戳:

select UNIX_TIMESTAMP('2020-08-08') from dual
select UNIX_TIMESTAMP('20200808') from dual

输出都是:
在这里插入图片描述

3、将转换成的timestamp格式的数据重新转回到datetime格式:

select FROM_UNIXTIME(UNIX_TIMESTAMP(now())) from dual

在这里插入图片描述
注意,时间戳也可以直接转换为字符串格式的日期存储:

select FROM_UNIXTIME(UNIX_TIMESTAMP(now()),'%Y-%m-%d') from dual

输出:
在这里插入图片描述

select FROM_UNIXTIME(UNIX_TIMESTAMP(now()),'%Y-%m-%d %H:%i:%s') from dual

输出:

在这里插入图片描述

附表
MySQL日期格式化(format)取值范围:

含义
%S、%s 两位数字形式的秒( 00,01, …, 59)
%I、%i 两位数字形式的分( 00,01, …, 59)
小时%H 24小时制,两位数形式小时(00,01, …,23)
%h 12小时制,两位数形式小时(00,01, …,12)
%k 24小时制,数形式小时(0,1, …,23)
%l 12小时制,数形式小时(0,1, …,12)
%T 24小时制,时间形式(HH:mm:ss)
%r 12小时制,时间形式(hh:mm:ss AM 或 PM)
%p AM上午或PM下午
%W 一周中每一天的名称(Sunday,Monday, …,Saturday)
%a 一周中每一天名称的缩写(Sun,Mon, …,Sat)
%w 以数字形式标识周(0=Sunday,1=Monday, …,6=Saturday)
%U 数字表示周数,星期天为周中第一天
%u 数字表示周数,星期一为周中第一天
%d 两位数字表示月中天数(01,02, …,31)
%e 数字表示月中天数(1,2, …,31)
%D 英文后缀表示月中天数(1st,2nd,3rd …)
%j 以三位数字表示年中天数(001,002, …,366)
%M 英文月名(January,February, …,December)
%b 英文缩写月名(Jan,Feb, …,Dec)
%m 两位数字表示月份(01,02, …,12)
%c 数字表示月份(1,2, …,12)
%Y 四位数字表示的年份(2015,2016…)
%y 两位数字表示的年份(15,16…)
文字输出%文字 直接输出文字内容

注:附表参考链接:https://www.cnblogs.com/airen123/p/11015200.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白小斗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值