Numeric literals specify the values of fixed-point numbers and floating-point numbers. This topic describes integer literals and number and floating-point number literals.
Integer literals
When you use integers in expressions, conditions, SQL functions, and SQL statements, you must specify integer literals as values.
The maximum precision of an integer literal is 38 digits.
The following examples are some valid integer literals:
8
+186
-15
Number and floating-point number literals
When you use numbers in expressions, conditions, SQL functions, and SQL statements, you must specify number or floating-point number literals as values.
The following examples are some valid number literals:
12
+6.87
0.5
25e-03
-9
The following examples are some valid floating-point number literals:
25f
+6.34F
0.5d
-1D
The maximum precision of a number literal is 38 digits. If the precision of a literal is higher than that supported by the NUMBER, BINARY_FLOAT, or BINARY_DOUBLE data type, OceanBase Database truncates the literal. If the range of a literal exceeds the boundaries supported by the NUMBER, BINARY_FLOAT, or BINARY_DOUBLE data type, OceanBase Database returns an error.
The decimal separator used in numeric literals is period (.). If you specify text literals as values that are expected to be numeric literals, the text literals are converted to numeric literals.
In the following example, 2 is multiplied by the numeric literal 2.2 and 2 is multiplied by the text literal ‘3.3’ to get respective values.
obclient> SELECT 2*2.2, 2*'3.3' FROM DUAL;
+-------+---------+
| 2*2.2 | 2*'3.3' |
+-------+---------+
| 4.4 | 6.6 |
+-------+---------+
1 row in set