MySQL 将字符串(string)类型转换为时间戳类型


<!–

–>

MySQL 将字符串(string)类型转换为时间戳类型

在MySQL中,时间戳(timestamp)是十分重要的数据类型,它记录了事件发生的时间信息。然而,很多时候我们需要在MySQL中将字符串(string)类型转换为时间戳类型,这时候就需要用到一些函数。

阅读更多:

通过UNIX_TIMESTAMP函数将字符串转换为时间戳

UNIX_TIMESTAMP函数可以将符合格式的字符串转换为时间戳类型。下面是一个例子:

(adsbygoogle = window.adsbygoogle || []).push({});

SELECT UNIX_TIMESTAMP('2022-01-01 00:00:00') as ts;

这个查询会得到这样的结果:

+------------+
| ts         |
+------------+
| 1640995200 |
+------------+

它将字符串’2022-01-01 00:00:00’转换为了对应的时间戳。

通过STR_TO_DATE函数将字符串转换为日期时间类型,然后使用UNIX_TIMESTAMP

如果字符串不是标准的日期时间格式,就需要使用STR_TO_DATE函数将它转换为日期时间类型,然后再用UNIX_TIMESTAMP转换为时间戳。下面是一个例子:

SELECT UNIX_TIMESTAMP(STR_TO_DATE('2022.01.01', '%Y.%m.%d')) as ts;

这个查询返回的结果是:

+------------+
| ts         |
+------------+
| 1640995200 |
+------------+

它将字符串’2022.01.01’转换为日期时间类型,再将其转换为时间戳。

通过FROM_UNIXTIME函数将时间戳转换为日期时间类型

FROM_UNIXTIME函数可以将时间戳类型转换为日期时间类型。下面是一个例子:

(adsbygoogle = window.adsbygoogle || []).push({});

SELECT FROM_UNIXTIME(1640995200) as datetime;

这个查询会输出这样的结果:

+---------------------+
| datetime            |
+---------------------+
| 2022-01-01 00:00:00 |
+---------------------+

它将时间戳1640995200转换为UTC时间2022-01-01 00:00:00。

总结

MySQL中时间戳类型记录着事件发生的时间信息。通过UNIX_TIMESTAMP函数可以将符合格式的字符串转换为时间戳类型;通过STR_TO_DATE函数将字符串转换为日期时间类型,再使用UNIX_TIMESTAMP函数将其转换为时间戳类型;通过FROM_UNIXTIME函数可以将时间戳类型转换为日期时间类型。这些函数的灵活运用可以满足不同的时间转换需求。