MYSQL - datetime到秒

Mik*_*ike 33 mysql datetime

我无法找到(谷歌搜索,阅读mysql参考手册)如何在MySQL中以秒为单位获取DATETIME的值.

我不是要从datetime中提取秒数,而是将其转换为秒.

Pas*_*TIN 42

如果通过" 转换为秒 ",您的意思是" 转换为UNIX时间戳 " (即自1970-01-01之后的秒数),那么您可以使用以下UNIX_TIMESTAMP函数:

select UNIX_TIMESTAMP(your_datetime_field)
from your_table
where ...
Run Code Online (Sandbox Code Playgroud)


而且,为了完整性,要从Unix时间戳转换为日期时间,您可以使用该FROM_UNIXTIME函数.


Fel*_*ing 35

如果您想要两个DATETIME值之间的差异,请使用TIMESTAMPDIFF:

TIMESTAMPDIFF(单元,datetime_expr1,datetime_expr2)

返回datetime_expr2 – datetime_expr1,where datetime_expr1datetime_expr2date或datetime表达式.一个表达式可以是日期,另一个表达式可以是日期时间; 在必要时,日期值被视为具有时间部分'00:00:00'的日期时间.结果的单位(整数)由单位参数给出.单位的合法值与TIMESTAMPADD()函数说明中列出的值相同.

mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');  
    -> 3  



mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');  
    -> -1  


mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');  
    -> 128885
Run Code Online (Sandbox Code Playgroud)

unit也可以HOUR是你在其中一条评论中要求的内容.

unit参数可以是以下任何一个:

  • MICROSECOND
  • 第二
  • 分钟
  • 小时
  • 25美分硬币

一些其他选项的有用性水平当然将取决于数据的粒度.例如,如果您没有在DATETIME值中存储微秒,则"MICROSECOND"将仅限制使用.


小智 7

在以前的版本中使用TIME_TO_SEC for mysql

SELECT TIME_TO_SEC(时间列)FROM表