数值字面量(Numberic Literals)使用数值字面量指定固定数和浮点数的值。

整数字面量

当表达式、条件、SQL 函数和 SQL 语句中出现整数时,需要用整数(Integer)字面量来指定值。

下面是一些有效的整数字面量:

  1. 8
  2. +186
  3. -15

数字和浮点数字面量

当表达式、条件、SQL 函数和 SQL 语句中出现数字时,需要用数字(Number)或浮点字(Floating-Point)面量来指定值。

以下是一些有效的数字 NUMBER 字面量:

  1. 12
  2. +6.87
  3. 0.5
  4. 25e-03
  5. -9

以下是一些有效的浮点数 Floating-Point 字面量:

  1. 25f
  2. +6.34F
  3. 0.5d
  4. -1D

数字字面量最大可以储存精度为 38 位的数字。如果字面量要求的精度比 NUMBERBINARY_FLOATBINARY_DOUBLE 所提供的精度更高,则 OceanBase 将截断该值。如果字面量的范围超出 NUMBERBINARY_FLOATBINARY_DOUBLE 支持的范围,则 OceanBase 会抛出错误。

示例

数值字面量中的小数点分隔符始终是点(.)。在期望数值字面量的地方指定了文本字面量,则该文本字面量被转换为数值字面量。

在下面的示例中,计算了 2 乘以数值字面量 2.22 乘以文本字面量 ‘3.3’

  1. SELECT 2*2.2, 2*'3.3' FROM DUAL;

返回结果:

  1. +-------+---------+
  2. | 2*2.2 | 2*'3.3' |
  3. +-------+---------+
  4. | 4.4 | 6.6 |
  5. +-------+---------+