unix

SQL查询怎样将日期转为Unix时间戳

小樊
269
2024-09-27 23:08:52
栏目: 云计算

在SQL中,将日期转换为Unix时间戳的方法取决于你使用的数据库管理系统。以下是一些常见数据库中的转换方法:

  1. MySQL:

使用UNIX_TIMESTAMP()函数:

SELECT UNIX_TIMESTAMP('2023-10-01 12:00:00');

对于MySQL 8.0及更高版本,你也可以直接使用FROM_UNIXTIME()函数将Unix时间戳转换为日期:

SELECT FROM_UNIXTIME(1696046400, 'your_format'); -- 'your_format' 是可选的日期格式
  1. PostgreSQL:

使用to_timestamp()函数:

SELECT to_timestamp('2023-10-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS');

对于Unix时间戳,你可以这样做:

SELECT to_timestamp(1696046400);
  1. SQL Server:

使用DATEDIFF()函数和CAST()CONVERT()函数:

SELECT DATEDIFF(SECOND, '1970-01-01 00:00:00', '2023-10-01 12:00:00') AS UnixTimestamp;

或者使用CONVERT()函数:

SELECT CONVERT(int, CONVERT(datetime, '2023-10-01 12:00:00')) AS UnixTimestamp;
  1. Oracle:

使用TO_DATE()函数和TRUNC()函数:

SELECT TRUNC(TO_DATE('2023-10-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 86400 AS UnixTimestamp FROM DUAL;

其中,86400是Oracle中一天的秒数。

请注意,上述示例中的日期和时间格式可能需要根据你的数据库设置和需求进行调整。

0
看了该问题的人还看了