MariaDB CRC32C() Function
In MariaDB, CRC32C()
is a built-in numeric function that computes a cyclic redundancy check value and returns a 32-bit unsigned value.
Unlike CRC32()
, CRC32C()
uses Castagnoli polynomials.
MariaDB CRC32C()
Syntax
Here is the syntax of the MariaDB CRC32C()
function:
CRC32C([par,]str)
Parameters
str
-
Required. A string used for calculation. Non-string arguments will be treated as strings.
par
-
Optional. One computes the cyclic redundancy check value. Optional parameter to calculate checksums for segments.
If you provide the wrong number of parameters, MariaDB will report an error: ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CRC32C'
。
Return value
The MariaDB CRC32C()
function is used to calculate the cyclic redundancy check value and returns a 32-bit unsigned value.
If any parameter is NULL
, the CRC32C()
function will return NULL
.
MariaDB CRC32C()
Examples
Basic example
To calculate the cyclic redundancy check value for Hello
, use the following statement:
SELECT CRC32C('Hello');
Output:
+-----------------+
| CRC32C('Hello') |
+-----------------+
| 2178485787 |
+-----------------+
case sensitive
The cyclic redundancy check value is different for strings of different case:
SELECT
CRC32C('Hello'),
CRC32C('HELLO');
Output:
+-----------------+-----------------+
| CRC32C('Hello') | CRC32C('HELLO') |
+-----------------+-----------------+
| 2178485787 | 3901656152 |
+-----------------+-----------------+
non-string parameter
MariaDB CRC32C()
will treat non-string arguments as strings:
SELECT
CRC32C('1234'),
CRC32C(1234);
Output:
+----------------+--------------+
| CRC32C('1234') | CRC32C(1234) |
+----------------+--------------+
| 4131058926 | 4131058926 |
+----------------+--------------+
Segmented computing
SELECT
CRC32C('HelloWorld'),
CRC32C(CRC32C('Hello'), 'World');
Output:
+----------------------+----------------------------------+
| CRC32C('HelloWorld') | CRC32C(CRC32C('Hello'), 'World') |
+----------------------+----------------------------------+
| 1407507230 | 1407507230 |
+----------------------+----------------------------------+
In this example, we split HelloWorld
into Hello
and World
, and calculate them piecewise. You can split it according to your needs, the result is the same, as follows:
SELECT CRC32C(CRC32C('He'), 'lloWorld');
Output:
+----------------------------------+
| CRC32C(CRC32C('He'), 'lloWorld') |
+----------------------------------+
| 1407507230 |
+----------------------------------+
Conclusion
In MariaDB, CRC32C()
is a built-in numeric function that computes a cyclic redundancy check value and returns a 32-bit unsigned value.