sql - 将 bigint 转换为日期时间

标签 sql sql-server tsql teamcity

我想将值从 bigint 转换为 datetime。

例如,我正在读取 teamcity 服务器HISTORY 表。在build_start_time_server字段中,我在一条记录1283174502729上有这个值。

如何将其转换为日期时间值?

最佳答案

这对你有用吗?它在 SQL Server 2005 上返回 30-8-2010 13:21:42:

select dateadd(s, convert(bigint, 1283174502729) / 1000, convert(datetime, '1-1-1970 00:00:00'))

我除以 1000,因为 dateadd 函数无法处理这么大的数字。所以你确实会损失一点精度,但使用起来要简单得多。

关于sql - 将 bigint 转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650320/

相关文章:

sql - 如何加入 SQL Server 中的别名列?

mysql - 硬连接查询

.net - 版本控制为 : optimal way of getting a list of last version using SQL 的实体

sql - 使用游标时如何避免 T-SQL 中重复的 FETCH?

java - 使用PreparedStatement的SQLite函数

sql - 外键约束的条件级联操作?

sql - 无法创建 FK 约束

sql - SQL Server中如何生成随机数据

mysql - 使用带有日期字符串的 LIKE 子句进行查询

sql - 如何为数据库中的每个选定行执行插入