FORM_UNIXTIME
用法
mysql> SELECT FROM_UNIXTIME( 1648310400, '%Y%m%d' );
+---------------------------------------+
| FROM_UNIXTIME( 1648310400, '%Y%m%d' ) |
+---------------------------------------+
| 20220327 |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT FROM_UNIXTIME( 1648310400, '%Y' );
+-----------------------------------+
| FROM_UNIXTIME( 1648310400, '%Y' ) |
+-----------------------------------+
| 2022 |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> SELECT FROM_UNIXTIME( 1648310400, '%Y年%m月%d日' );
+---------------------------------------------+
| FROM_UNIXTIME( 1648310400, '%Y年%m月%d日' ) |
+---------------------------------------------+
| 2022年03月27日 |
+---------------------------------------------+
1 row in set (0.00 sec)
通过上面三个实例,可以简单了解了FROM_UNIXTIME()
函数的用法,该函数以一共需要提供两个参数:
第一个参数可以是一个时间戳(秒级)或者是某字段(也得是10位的时间戳否则转换结果为空)
第二个参数是转换的格式可以是%Y%m%d
、%Y年%m月%d日
、或者%Y
等格式
以下是使用FROM_UNIXTIME
函数对毫秒级时间戳格式的字段转化
所操作的表:ms_article
SELECT FROM_UNIXTIME(create_date/1000,'%Y') as year from ms_article
注:因为是毫秒级13位的时间戳,所以要先/1000变成10位秒级的时间戳,否则是转不出来的
结果:
UNIX_TIMESTAMP
用法
mysql> SELECT UNIX_TIMESTAMP('2022-03-27') ;
+------------------------------+
| UNIX_TIMESTAMP('2022-03-27') |
+------------------------------+
| 1648310400 |
+------------------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP() ;
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
| 1648369729 |
+------------------+
1 row in set (0.00 sec)
mysql> SELECT UNIX_TIMESTAMP('2022-03-27 16:30:20') ;
+---------------------------------------+
| UNIX_TIMESTAMP('2022-03-27 16:30:20') |
+---------------------------------------+
| 1648369820 |
+---------------------------------------+
1 row in set (0.00 sec)
对于UNIX_TIMESTAMP()
函数,可传参也可以不传,如果不传参,则返回当前时间的时间戳,如果传参则返回指定时间的时间戳,但必须是'yyyy-MM-dd HH:mm:ss
格式
版权声明:本文为fuzhijieabc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。