最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
SQLSERVER如何转换毫秒级时间戳成时间
时间:2026-06-11 08:53:22 编辑:袖梨 来源:一聚教程网
物联网项目的时间大多时毫秒级的时间戳,在SQL SERVER中转换为时间时会出现“将 expression 转换为数据类型 int 时出现算术溢出错误”

SELECT DATEADD(MILLISECOND, 1757304100073, '1970-01-01 00:00:00')消息 8115,级别 16,状态 2,第 10 行将 expression 转换为数据类型 int 时出现算术溢出错误。
原因分析
在 SQL Server 中出现这个错误是因为 DATEADD 函数的第二个参数(间隔数量)对于MILLISECOND 类型有范围限制,当数值过大时会超出 int 类型的最大值(2,147,483,647)。
时间戳 1757304100073 是一个毫秒级时间戳,远大于 int 类型的最大值,因此直接使用 MILLISECOND 参数会导致算术溢出。
解决办法:分两步转换
先处理秒,再处理毫秒。
先将毫秒级时间戳转换为秒级(除以 1000),再处理剩余的毫秒数:
DECLARE @timestamp BIGINT = 1757304100073;-- 计算总秒数和剩余毫秒数SELECT DATEADD(MILLISECOND, @timestamp % 1000, -- 剩余毫秒数 DATEADD(SECOND, @timestamp / 1000, '1970-01-01 00:00:00') -- 秒级时间戳转换 ) --查询结果 2025-09-08 04:01:40.073
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
您可能感兴趣的文章:- SQL Server计算两个时间相差的示例代码
- SQL Server时间转换3种方法总结
- sqlserver降水量数据按照时间分组行转为列的操作方法
- 解锁 SQL Server 2022的时间序列数据功能(示例详解)
- SQL Server日期时间格式转化的方式小结
- SQL Server日期时间加减函数(DATEDIFF、DateAdd)的使用
- SQL Server日期时间字符串的处理和转换方法详解
相关文章
- 苹果折叠屏爆料汇总:售价超两万,比例阔折叠 07-30
- 纪念碑谷3 纪念碑谷3手游玩法详解与体验评测 07-30
- 晴空双子金卡阵容推荐 晴空双子高性价比氪金养成指南 07-30
- 大周列国志全新派系系统 07-30
- 兔小萌世界甜系小房间搭建指南 兔小萌世界高颜值甜系房间布置全流程详解 07-30
- 大周列国志全新剧本包西汉剧本包 07-30