sql server FROM_UNIXTIME
时间: 2023-09-04 21:09:14 浏览: 170
SQLServer时间处理
在 MySQL 中,有一个内置的函数 `FROM_UNIXTIME` 可以将 UNIX 时间戳转换为日期时间格式。然而,在 SQL Server 中没有直接等效的函数。但是,你可以使用以下方法来实现类似的功能:
```sql
DECLARE @unix_timestamp BIGINT = 1626144000; -- 你的 UNIX 时间戳
SELECT DATEADD(SECOND, @unix_timestamp, '19700101') AS converted_datetime;
```
上述代码中使用了 `DATEADD` 函数,将 UNIX 时间戳(以秒为单位)添加到 '1970-01-01' 这个基准日期上。这将返回一个日期时间格式的结果作为 `converted_datetime` 列。
如果你有一个以毫秒为单位的 UNIX 时间戳,你需要将 `@unix_timestamp` 的数据类型更改为 `DECIMAL(19, 3)`,并将 `DATEADD` 函数的第一个参数从 `SECOND` 更改为 `MILLISECOND`。
需要注意的是,SQL Server 的日期时间范围是从 '1753-01-01' 到 '9999-12-31',如果你的 UNIX 时间戳超出了这个范围,那么转换结果可能会不准确。
阅读全文