Sybase 添加毫秒到日期不起作用

Sybase add millisecond to date is not working

我正在尝试使用 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

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

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

diff_ms: 0

你能帮忙找到解决办法吗?

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

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

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