sqlserver 保留时间列的年、月、日、时、分、秒,毫秒四舍五入为秒
时间: 2023-09-29 15:07:37 浏览: 94
可以使用 DATEADD 和 DATEDIFF 函数将毫秒四舍五入为秒,并将结果存储在一个新的 datetime 列中。
例如,假设您有一个名为 "MyTable" 的表,其中包含一个名为 "DateTimeColumn" 的 datetime 列。您可以使用以下查询向该表添加一个新的 datetime 列,该列将 "DateTimeColumn" 的毫秒四舍五入为秒:
```
ALTER TABLE MyTable ADD RoundedDateTimeColumn AS DATEADD(second, DATEDIFF(second, 0, DateTimeColumn) + ROUND(DATEPART(millisecond, DateTimeColumn) / 1000.0, 0), 0)
```
此查询将在 "MyTable" 中创建一个名为 "RoundedDateTimeColumn" 的新列,其中包含将 "DateTimeColumn" 的毫秒四舍五入为秒的结果。例如,如果 "DateTimeColumn" 包含值 "2019-01-01 12:34:56.789",则 "RoundedDateTimeColumn" 将包含值 "2019-01-01 12:34:57.000"。
请注意,此查询假定您希望将毫秒四舍五入为整秒。如果您需要将毫秒四舍五入到其他时间单位(例如分钟或小时),则需要相应地调整查询中的 DATEADD 和 DATEDIFF 函数。
阅读全文