1

我正在尝试使用 dateadd 函数(Sybase ASE)添加 1 毫秒的日期,但没有运气:

 select dateadd(ms, 1, getdate()) cur_date,
          dateadd(ms, 1, getdate()) add_ms,
          datediff(ms,dateadd(ms, 1, getdate()), getdate()) diff_ms

当前日期:2018-06-21 12:54:20.360

add_ms: 2018-06-21 12:54:20.360

差异毫秒: 0

你能帮忙找到解决方案吗?

4

1 回答 1

0

datetime类型的精度为 1/300 秒。如果您想获得下一个值,请将 3 或 4 ms 添加到您拥有的值上。

另一种方法是转换为bigdatetime类型(精度 1 微秒 = 1/1000000 秒),然后添加 1ms。尝试:

select dateadd(ms, 1, convert(bigdatetime, getdate())) cur_date,
    dateadd(ms, 1, convert(bigdatetime, getdate())) add_ms,
    datediff(ms,dateadd(ms, 1, convert(bigdatetime, getdate())),
    convert(bigdatetime, getdate())) diff_ms

差异毫秒:-1

于 2018-06-21T15:32:23.287 回答