db2查询时间戳数据类型的奇怪行为

Sac*_*ode 2 database db2

我想在db2中查询时间戳数据类型.我在下面写了一下查询

Select * from sample where LASTMODIFIEDDATE = timestamp('2012-04-03 07:59:50')

我没有得到任何上述查询的结果,然后我试过了

Select * from sample where LASTMODIFIEDDATE > timestamp('2012-04-03 07:59:50')

在上面的查询中,我得到的结果与时间戳'2012-04-03 07:59:50'相匹配,以获得更大的时间戳值,例如'2012-04-03 08:59:50'.

如果我得到'>'运算符的结果,为什么我没有得到'='运算符的任何结果?任何原因或我写错了查询?

谢谢 !

Clo*_*use 6

不,DB2存储时间戳的完整值,包括小数秒.您可能希望将系统显示时间戳的格式更改为包含毫秒的内容.

请尝试使用此代码:

SELECT * 
FROM Sample
WHERE lastModifiedDate >= TIMESTAMP('2012-04-03 07:59:50')
AND lastModifiedDate < TIMESTAMP('2012-04-03 07:59:50)' + 1 SECONDS
Run Code Online (Sandbox Code Playgroud)

除非您拥有时间戳的完整值(包括毫秒),否则您将获得一个范围 - 在访问一系列数据时,使用'下限包含,上限独占'.