数值字面量(Numberic Literals)使用数值字面量指定固定数和浮点数的值。
整数字面量
当表达式、条件、SQL 函数和 SQL 语句中出现整数时,需要用整数(Integer)字面量来指定值。
下面是一些有效的整数字面量:
8
+186
-15
数字和浮点数字面量
当表达式、条件、SQL 函数和 SQL 语句中出现数字时,需要用数字(Number)或浮点字(Floating-Point)面量来指定值。
以下是一些有效的数字 NUMBER 字面量:
12
+6.87
0.5
25e-03
-9
以下是一些有效的浮点数 Floating-Point 字面量:
25f
+6.34F
0.5d
-1D
数字字面量最大可以储存精度为 38 位的数字。如果字面量要求的精度比 NUMBER
、BINARY_FLOAT
或 BINARY_DOUBLE
所提供的精度更高,则 OceanBase 将截断该值。如果字面量的范围超出 NUMBER
、BINARY_FLOAT
或 BINARY_DOUBLE
支持的范围,则 OceanBase 会抛出错误。
示例
数值字面量中的小数点分隔符始终是点(.)。在期望数值字面量的地方指定了文本字面量,则该文本字面量被转换为数值字面量。
在下面的示例中,计算了 2 乘以数值字面量 2.2 和 2 乘以文本字面量 ‘3.3’:
SELECT 2*2.2, 2*'3.3' FROM DUAL;
返回结果:
+-------+---------+
| 2*2.2 | 2*'3.3' |
+-------+---------+
| 4.4 | 6.6 |
+-------+---------+