跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

解读sql中timestamp和datetime之间的转换

目录sql中timestamp和datetime的转换示例如下

1.现在数据库的datetime时间

2.将现在数据库的datetime时间转换为timestamp格式3.将转换成的timestamp格式的数据重新转回到datetime格式附表总结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…)

文字输出%文字 直接输出文字内容总结以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date) MySQL中日期和时间戳转换之字符到DATE和TIMESTAMP的相互转换

相关文章