MariaDB UNIX_TIMESTAMP() 函数返回一个 Unix 时间戳,表示自 '1970-01-01 00:00:00' UTC 以来的秒数。如果未提供 datetime 参数,该函数将返回当前 Unix 时间戳。如果提供了datetime参数,它将返回指定datetime的Unix时间戳。
datetime参数可以是DATE、DATETIME、TIMESTAMP 字符串或 YYMMDD、YYMMDDhhmmss、YYYYMMDD 或 YYYYMMDDhhmmss 格式的数字。
语法
UNIX_TIMESTAMP(datetime)
参数
datetime | 可选。 指定 DATE、DATETIME、TIMESTAMP 字符串或 YYMMDD、YYMMDDhhmmss、YYYYMMDD 或 YYYYMMDDhhmmss 格式的数字。如果未提供,则使用当前时间戳。 |
返回值
返回 Unix 时间戳。
示例1:
下面的示例显示了 UNIX_TIMESTAMP() 函数的用法。
SELECT UNIX_TIMESTAMP();
Result: 1641883574
SELECT UNIX_TIMESTAMP('2019-10-25');
Result: 1571961600
SELECT UNIX_TIMESTAMP('2019-10-25 08:10:25');
Result: 1571991025
SELECT UNIX_TIMESTAMP(20191025);
Result: 1571961600
SELECT UNIX_TIMESTAMP(20191025081025);
Result: 1571991025
SELECT UNIX_TIMESTAMP(NULL);
Result: NULL
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | LoginStamp |
---|---|
Data 1 | 2019-10-25 09:20:38 |
Data 2 | 2019-10-25 09:21:05 |
Data 3 | 2019-10-25 09:24:35 |
Data 4 | 2019-10-25 09:25:24 |
Data 5 | 2019-10-25 09:27:16 |
下面给出的语句可用于将 LoginStamp 列的记录转换为 Unix 时间戳.
SELECT *, UNIX_TIMESTAMP(LoginStamp) AS UNIX_TIMESTAMP_Value FROM Sample;
这将产生如下所示的结果:
Data | LoginStamp | UNIX_TIMESTAMP_Value |
---|---|---|
Data 1 | 2019-10-25 09:20:38 | 1571995238 |
Data 2 | 2019-10-25 09:21:05 | 1571995265 |
Data 3 | 2019-10-25 09:24:35 | 1571995475 |
Data 4 | 2019-10-25 09:25:24 | 1571995524 |
Data 5 | 2019-10-25 09:27:16 | 1571995636 |