Sybase迄今为止添加毫秒无法正常工作

时间:2018-06-21 10:00:14

标签: sybase milliseconds sybase-ase15

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

diff_ms: 0

能帮您找到解决方案吗?

1 个答案:

答案 0 :(得分:0)

日期时间类型的精度为1/300秒。如果要获取下一个值,请在该值前增加3或4毫秒。

另一种方法是强制转换为 bigdatetime 类型(精度为1微秒= 1/1000000 s),然后加上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

diff ms:-1