你如何比较时间戳?

看起来有点微不足道的问题,但我使用hsqldb获得的行为是反直觉的.

以下select不返回任何行(假设我先前插入了2行,其中timestamp值等于CURRENT_TIMESTAMP):

SELECT * FROM webshop.transactions t WHERE (t.expiration_time <= CURRENT_TIMESTAMP)

我预计这可能会发生,因为在比较之前,时间戳被转换为数字,这可能是负数.这可以解释结果,但仍然提出了如何比较时间戳的问题?

最佳答案 如果WEBSHOP.TRANSACTIONS.EXPIRATION_TIME列定义为TIMESTAMP,那么您的比较是正确的. HSQLDB本身支持TIMESTAMP作为可以比较的数据类型.

点赞