【问题标题】:Using convert in SQL Server returns a wrong number of milliseconds在 SQL Server 中使用 convert 返回错误的毫秒数
【发布时间】:2020-06-23 23:34:33
【问题描述】:

如果我这样做,为什么在 SQL Server 中:

SELECT CONVERT(datetime, '2020-06-23 23:21:22.302', 121)

我得到了这个日期:

2020-06-23 23:21:22.303

【问题讨论】:

  • 试试datetime2(3),因为datetime不能存储/表示302毫秒。

标签: sql-server date


【解决方案1】:

see this thread

这是因为 SQL Server 中的日期时间仅精确到 3 毫秒,并且会四舍五入到 0.000、0.003 或 0.007 秒的增量

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT convert(datetime, '2020-06-23 23:21:22.302', 121)
    SELECT convert(datetime2, '2020-06-23 23:21:22.302', 121)
    SELECT convert(datetime2(3), '2020-06-23 23:21:22.302', 121)
    

    【讨论】:

      猜你喜欢
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2019-08-22
      相关资源
      最近更新 更多