算术表达式

算术运算符至少包含下表中列出的算术运算符之一并产生一个数字
运算符
操作
+
-
*
/

不能在算术表达式中使用 TEXT 或 BYTE 列。

GBase 8s,不能在算术表达式中指定 BLOB 或 CLOB 。

算术表达式使您能够查看建议的计算的结果而不必实际改变数据库中的数据。可以添加 INTO TEMP 子句来将已改变的数据保存在临时表中以供将来参考、计算或即时报告。当 unit_price 为 $400 或更多时,以下查询对 unit_price 列计算 7% 的销售税(但不在数据库中更新它)。

图: 查询

SELECT stock_num, description, unit_price, unit_price * 1.07
          FROM stock
          WHERE unit_price >= 400;
此结果在 expression 列中显示。

图: 查询结果

stock_num description     unit_price     (expression) 
        
        1 baseball gloves    $800.00          $856.00 
        1 baseball gloves    $450.00          $481.50
        4 football           $960.00         $1027.20
        4 football           $480.00          $513.60
        7 basketball         $600.00          $642.00
        8 volleyball         $840.00          $898.80
        102 bicycle brakes     $480.00          $513.60
        111 10-spd, assmbld    $499.99          $534.99
        112 12-spd, assmbld    $549.00          $587.43
        113 18-spd, assmbld    $685.90          $733.91
        203 irons/wedge        $670.00          $716.90
当订货数量小于 5 时,下列查询对订单计算 $6.50 的附加费用。

图: 查询

SELECT item_num, order_num, quantity,
          total_price, total_price + 6.50
          FROM items
          WHERE quantity < 5; 
结果显示在 expression 列中。

图: 查询结果

item_num   order_num quantity total_price  (expression) 
        
        1        1001        1     $250.00      $256.50
        1        1002        1     $960.00      $966.50
        2        1002        1     $240.00      $246.50
        1        1003        1      $20.00       $26.50
        2        1003        1     $840.00      $846.50
        1        1004        1     $250.00      $256.50
        2        1004        1     $126.00      $132.50
        3        1004        1     $240.00      $246.50
        4        1004        1     $800.00      $806.50
        ⋮
        1        1023        2      $40.00       $46.50
        2        1023        2     $116.00      $122.50
        3        1023        1      $80.00       $86.50
        4        1023        1     $228.00      $234.50
        5        1023        1     $170.00      $176.50
        6        1023        1     $190.00      $196.50
下列查询计算并在 expression 列中显示按接收到客户电话(call_dtime)与处理电话(res_dtime)之间的时间间隔(以天、小时和分钟计)。

图: 查询

SELECT customer_num, call_code, call_dtime, 
          res_dtime - call_dtime
          FROM cust_calls
          ORDER BY customer_num;

图: 查询结果

customer_num call_code call_dtime             (expression)
            
            106 D         1998-06-12 08:20         0 00:05
            110 L         1998-07-07 10:24         0 00:06
            116 I         1997-11-28 13:34         0 03:13
            116 I         1997-12-21 11:24         5 20:55
            119 B         1998-07-01 15:00         0 17:21
            121 O         1998-07-10 14:05         0 00:01
            127 I         1998-07-31 14:30