sqlserver时间戳转换日期格式 不含毫秒
时间: 2025-02-21 20:28:45 浏览: 46
### 将时间戳转换为不含毫秒的日期格式
在 SQL Server 中,可以使用 `DATEADD` 函数来处理时间戳并将其转换为标准日期格式。为了确保转换后的日期不包含毫秒部分,并考虑到北京时区的影响(UTC+8),可以通过以下方式实现:
```sql
DECLARE @timestamp VARCHAR(19) = '1710347106000'; -- 假设这是要转换的时间戳字段,默认精确到毫秒
-- 转换时间为年月日 时分秒,去除毫秒部分
SELECT CONVERT(VARCHAR(19), DATEADD(SECOND, CAST(@timestamp AS BIGINT) / 1000, '1970-01-01 08:00:00'), 120);
```
上述代码片段展示了如何通过指定长度参数的方式,在最终输出的结果中排除掉不需要的部分,即只保留到秒钟级别的精度[^2]。
另外一种方法是利用 `CAST` 或者 `CONVERT` 的特定样式码来进行格式化操作,从而达到同样的效果:
```sql
-- 使用 CONVERT 函数配合样式码 120 来获取 ISO8601 格式的字符串表示形式,同样不会显示毫秒
SELECT CONVERT(VARCHAR(19), DATEADD(SECOND, CAST('1710347106000' AS BIGINT) / 1000, '1970-01-01 08:00:00'), 120);
```
这两种方法都可以有效地将带有毫秒级别精度的时间戳数据转化为仅含有年份、月份、日子以及小时分钟秒的信息,而忽略了更精细的时间单位。
阅读全文
相关推荐











