Numeric literals are written as a sequence of digits from `0`

to `9`

. Initial zeros are ignored. A sign can always precede the digits, but it is optional for positive numbers. In decimal numbers, the integer part and the decimal part are divided with a dot (`.`

).

If the integer part is zero, it can be omitted, but the literal must begin with a dot.

The notation with exponent can be used. The exponent is preceded by an `E`

or `e`

character. The exponent can be preceded by a sign and must be an integer. A number `N`

with an exponent part `X`

, is calculated as `N * POW(10, X)`

.

In some cases, adding zeroes at the end of a decimal number can increment the precision of the expression where the number is used. For example, `PI()`

by default returns a number with 6 decimal digits. But the `PI()+0.0000000000`

expression (with 10 zeroes) returns a number with 10 decimal digits.

Hexadecimal literals are interpreted as numbers when used in numeric contexts.

10 +10 -10

All these literals are equivalent:

0.1 .1 +0.1 +.1

With exponents:

0.2E3 -- 0.2 * POW(10, 3) = 200 .2e3 .2e+2 1.1e-10 -- 0.00000000011 -1.1e10 -- -11000000000

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.

© 2019 MariaDB

Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.

https://mariadb.com/kb/en/numeric-iterals/