DB2时间戳选择语句

Viv*_*vek 7 db2 timestamp

我正在尝试运行一个简单的查询,它根据时间戳获取数据,如下所示:

SELECT * 
FROM <table_name> 
WHERE id = 1 
AND usagetime = timestamp('2012-09-03 08:03:06') 
WITH UR;
Run Code Online (Sandbox Code Playgroud)

这似乎没有向我返回记录,而此记录在数据库中存在id = 1.

我在这做错了什么?

列使用时间的数据类型是正确的,设置为timestamp.

Fre*_*tka 21

@bhamby是对的.通过将微秒保留在时间戳值之外,您的查询将仅匹配2012-09-03 08:03:06.000000的使用时间

如果您没有从先前查询捕获的完整时间戳值,则可以指定一个范围谓词,该谓词将匹配该时间的任何微秒值:

...WHERE id = 1 AND usagetime BETWEEN '2012-09-03 08:03:06' AND '2012-09-03 08:03:07'
Run Code Online (Sandbox Code Playgroud)

要么

...WHERE id = 1 AND usagetime >= '2012-09-03 08:03:06' 
   AND usagetime < '2012-09-03 08:03:07'
Run Code Online (Sandbox Code Playgroud)