将字符串转换为日期时间时,毫秒精度会发生变化
When converting string to datetime the milliseconds precision is changing
我正在尝试像这样将字符串转换为日期时间 select CONVERT(datetime, '31-05-2022 04:00:00.105', 105)
,但是毫秒的精度发生了变化。怎么可能?
就我而言,它给了我 2022-05-31 04:00:00.107
感谢您的帮助。
日期时间仅精确到 3.33 毫秒。如果您尝试楔入一个比该值更精确的值,MS SQL 将四舍五入到接近可接受的值。此处提供更多信息:
Milliseconds in my DateTime changes when stored in SQL Server
您可以尝试使用 'datetime2'(或 'datetimeoffset')列类型来满足更高的精度要求
select CONVERT(datetime2, '31-05-2022 04:00:00.105', 105)
我正在尝试像这样将字符串转换为日期时间 select CONVERT(datetime, '31-05-2022 04:00:00.105', 105)
,但是毫秒的精度发生了变化。怎么可能?
就我而言,它给了我 2022-05-31 04:00:00.107
感谢您的帮助。
日期时间仅精确到 3.33 毫秒。如果您尝试楔入一个比该值更精确的值,MS SQL 将四舍五入到接近可接受的值。此处提供更多信息:
Milliseconds in my DateTime changes when stored in SQL Server
您可以尝试使用 'datetime2'(或 'datetimeoffset')列类型来满足更高的精度要求
select CONVERT(datetime2, '31-05-2022 04:00:00.105', 105)