不带秒的Oracle时间戳

问题描述 投票:3回答:1

我的数据库表中有一个timestamp(6)列。我想对此进行比较,但不考虑秒部分。我知道我可以截断(时间戳)以删除时间并保留日期部分。有没有办法将秒设置为0?

我想这样做:

CASE WHEN ARR NOT BETWEEN FROM AND TO THEN 1
     ELSE 0 END "mismatch"

..但是当ARR的秒部分大于FROMTO时,会出现不匹配的情况。我不在乎秒,只想考虑分钟。

非常感谢任何建议。

谢谢

sql oracle oracle10g
1个回答
13
投票

trunc() function允许您通过可选的trunc()参数决定放弃多少精度;默认设置是删除所有时间分量,即fmt的等效项。如果只想浪费几秒钟,可以使用trunc(x, 'DD')

MI

注意,从select systimestamp, trunc(systimestamp, 'MI') from dual; SYSTIMESTAMP TRUNC(SYSTIMESTAMP,'MI') ----------------------------------- ------------------------ 06-JAN-14 13.11.33.046920000 +00:00 2014-01-06 13:11:00 返回的值现在是trunc,而不是DATE。如果这是一个问题-可能不是-您可以将其回退:

TIMESTAMP
© www.soinside.com 2019 - 2024. All rights reserved.