sql >> Database >  >> RDS >> MariaDB

Hoe CRC32 werkt in MariaDB

In MariaDB, CRC32() is een ingebouwde numerieke functie die een cyclische redundantiecontrolewaarde berekent en een 32-bits niet-ondertekende waarde retourneert.

CRC32 is een populair checksum-algoritme dat wordt gebruikt om gegevenscorruptie te detecteren.

Syntaxis

De syntaxis gaat als volgt:

CRC32(expr)

Waar expr wordt verwacht een string te zijn en wordt (indien mogelijk) als een string behandeld als dit niet het geval is.

Voorbeeld

Hier is een voorbeeld:

SELECT CRC32('Cat');

Resultaat:

+--------------+
| CRC32('Cat') |
+--------------+
|   2786264392 |
+--------------+

Hier is een vergelijking met verschillende gevallen:

SELECT
    CRC32('Cat'),
    CRC32('CAT'),
    CRC32('cat');

Resultaat:

+--------------+--------------+--------------+
| CRC32('Cat') | CRC32('CAT') | CRC32('cat') |
+--------------+--------------+--------------+
|   2786264392 |    150536482 |   2656977832 |
+--------------+--------------+--------------+

Niet-tekenreeksargumenten

Er wordt verwacht dat het argument een string is en (indien mogelijk) als een string wordt behandeld als dit niet het geval is.

Voorbeeld:

SELECT
    CRC32('10'),
    CRC32(10);

Resultaat:

+-------------+------------+
| CRC32('10') | CRC32(10)  |
+-------------+------------+
|  2707236321 | 2707236321 |
+-------------+------------+

Nullargumenten

CRC32() retourneert null als het argument null is :

SELECT CRC32(null);

Resultaat:

+-------------+
| CRC32(null) |
+-------------+
|        NULL |
+-------------+

Ontbrekende argumenten

Aanroepen van CRC32() met het verkeerde aantal argumenten, of zonder argumenten resulteert in een fout:

SELECT CRC32();

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CRC32'

En:

SELECT CRC32(10, 2);

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CRC32'

  1. Dubbele waarden elimineren op basis van slechts één kolom van de tabel

  2. Postgresql-tabellen bestaan, maar het verkrijgen van een relatie bestaat niet bij het opvragen

  3. Hoe gebruik je een PostgreSQL-container met bestaande gegevens?

  4. Hernoem een ​​externe sleutel in SQL Server met behulp van T-SQL