我的数据库表中有一个timestamp(6)列。我想对此进行比较,但不考虑秒部分。我知道我可以截断(时间戳)以删除时间并保留日期部分。有没有办法将秒设置为0?
我想这样做:
CASE WHEN ARR NOT BETWEEN FROM AND TO THEN 1
ELSE 0 END "mismatch"
..但是当ARR
的秒部分大于FROM
和TO
时,会出现不匹配的情况。我不在乎秒,只想考虑分钟。
非常感谢任何建议。
谢谢
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