当前位置: 首页 > 知识库问答 >
问题:

减去分钟SYSTIMESTAMP或SYSDATE在H2不工作

逑禄
2023-03-14

H2中的SYSTIMESTAMP或SYSDATE中减去分钟不工作。以下两个命令的结果相同:

select SYSTIMESTAMP from dual;    

select SYSTIMESTAMP- 30 / 1440 from dual;

共有1个答案

傅志用
2023-03-14

这种数学方法只适用于日期数据类型(例如SYSDATE),而不适用于时间戳。对于时间戳,请使用INTERVAL函数:

select systimestamp, systimestamp - interval '30' second from dual;

SYSTIMESTAMP                        SYSTIMESTAMP-INTERVAL'30'SECOND    
----------------------------------- -----------------------------------
13-APR-22 03.34.41.414075000 PM GMT 13-APR-22 03.34.11.414075000 PM GMT

有关这两种数据类型及其操作的差异的详细说明,请参见此处:https://oracle-base.com/articles/misc/oracle-dates-timestamps-and-intervals

 类似资料:
  • 问题内容: 在不对日期进行硬编码的情况下,检查某人是否已满20岁或20岁以上,该如何表达? 在SQL中 我当时在考虑使用,但是那时我不知道减去20年的语法。 问题答案: 假设您要忽略的时间部分,它将正常工作。

  • 本文向大家介绍使用Java中的Calendar.add()方法从当前时间减去分钟,包括了使用Java中的Calendar.add()方法从当前时间减去分钟的使用技巧和注意事项,需要的朋友参考一下 为Java中的Calendar类导入以下软件包。 首先,创建一个Calendar对象并显示当前日期和时间。 现在,让我们使用calendar.add()方法和Calendar.MINUTE常数减少分钟数。

  • 问题内容: 我有两个对象: 我怎么能在几分钟内发现它们之间的不同? 问题答案: 使用或,如api所述 0 0

  • 问题内容: 我在两个不同的表中有价格,想将它们相减(当前价格-当天价格)并以DESC形式订购它们。我想知道是否可以使用单个MySQL命令来完成。 表结构 问题答案: 除了我使用LEFT JOIN的方式外,此查询没有什么特别的。我相信,如果无法提供昨天的记录价格,则最后三列将包含NULL。输出:

  • 我有一个函数,它接收两个大十进制数,即bd1和bd2作为参数。函数应该减去bd1-db2并返回 bd1和bd2的刻度都是2,结果也应该只有2的刻度,但使用减法是按比例缩小到小数点后的完整表示形式。我希望刻度设置为2,并尝试使用setScale,但setScale需要舍入模式,并且不清楚使用哪种舍入模式才能获得限制在刻度2的精确结果 需要的是获得比例为2的精确减去值(bd1-bd2)。在这种情况下,

  • 问题内容: 我正在从SQL数据库中提取日期,该日期将其视为从午夜开始的日期。当我开始使用它们时,它会正确格式化它们,但是不会浪费一天。 格式化之前: 格式化后: 代码: 问题答案: 如果您分段运行代码,则会注意到产生的输出类似(我的计算机现在处于EDT中)。 这是因为(doc): 假定时区的差异 给定日期字符串为“ 2014年3月7日”,parse()假定为本地时区,但是给定ISO格式(如“ 20