【问题标题】:How to subtract 2 values from different columns of the same row in the H2 database如何从H2数据库中同一行的不同列中减去2个值
【发布时间】:2017-11-07 19:45:47
【问题描述】:

我正在尝试从 H2 数据库中同一行的不同列中减去 2 个值。

:

数据类型:

SLNO int, NUM1, NUM2 & OUTPUT 很长 (为了便于理解,在本例中输入了较小的数字)。

要求:

我在 NUM1 和 NUM2 列下存储了两个长数字。

我想找出 NUM2 - NUM1 之间的差异,差异必须存储在 OUTPUT 列下。我浏览了文档H2 Database functions,但没有找到任何关于此的内容。

您能否建议在 H2 数据库中执行此操作的替代方法。

【问题讨论】:

    标签: sql h2 subtraction


    【解决方案1】:

    最简单的方法是添加calculated column:

    计算列是在存储之前计算其值的列。插入行时计算公式,并在每次更新行时重新计算。

    CREATE TABLE SUBSTRACTION
    (
      SLNO INT,
      NUM1 INT,
      NUM2 INT, 
      OUTPUT INT AS (NUM2 - NUM1)
    );
    

    这将保证OUTPUT 始终是最新的。

    【讨论】:

      【解决方案2】:

      试试UPDATE:

      UPDATE substraction
      SET OUTPUT = NUM2 - NUM1
      

      【讨论】:

      • 这需要一个对 OP 和长寿都有用的解释。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 2021-01-28
      • 2014-12-28
      • 2021-08-12
      • 2019-06-24
      • 1970-01-01
      相关资源
      最近更新 更多