gpt4 book ai didi

sql-server - 为什么日期时间转换超出范围 999 毫秒?

转载 作者:行者123 更新时间:2023-12-01 21:56:29 30 4
gpt4 key购买 nike

谁能解释一下,为什么我会收到错误

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

当我在 SQL Server 2017 上执行以下代码时。我只收到 .999 毫秒的错误

SELECT CAST('9999-12-31 23:59:59.999' AS DATETIME)

结果:

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

然后我尝试了:

SELECT CAST('9999-12-31 23:59:59.998' AS DATETIME)

结果:9999-12-31 23:59:59.997

然后我尝试了:

SELECT CAST('9999-12-31 23:59:59.997' AS DATETIME)

结果:9999-12-31 23:59:59.997

最佳答案

根据文档,日期时间范围介于 1753 年 1 月 1 日和 9999 年 12 月 31 日之间。同样仍然基于文档,时间范围介于 00 到 23:59:997 之间。

因此,如果您进行四舍五入,则在 998 时它会向下舍入到 997。在 999 时它应该向上舍入到超出范围的 1 月 1 日 10000。 (sql-server中datetime精度为3.33ms)

关于sql-server - 为什么日期时间转换超出范围 999 毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56749917/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com