V MySQL je to CRC32()
funkce vypočítá kontrolní hodnotu cyklické redundance a vrátí 32bitovou hodnotu bez znaménka.
CRC je zkratka pro Cyclic Redundancy Check . CRC je kód pro detekci chyb běžně používaný v digitálních sítích a úložných zařízeních k detekci náhodných změn nezpracovaných dat (ačkoli nemusí nutně chránit před škodlivými nebo úmyslnými změnami).
Syntaxe
Syntaxe vypadá takto:
CRC32(expr)
Kde expr
je řetězec. Pokud argument není řetězec, MySQL jej stejně považuje za jeden (buď to, nebo dostanete chybu). Pokud je argument NULL
a poté NULL
je vráceno.
Příklad 1 – Základní použití
Zde je základní příklad, který demonstruje, co CRC32()
vrátí vzorový řetězec.
SELECT CRC32('Bob');
Výsledek:
+---------------+| CRC32('Bob') |+---------------+| 3448174496 |+---------------+
Příklad 2 – Rozlišování malých a velkých písmen
Získáte jiný výsledek v závislosti na případu, který používáte.
SELECT CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Výsledek:
+--------------+--------------+--------------+| CRC32('Bob') | CRC32('bob') | CRC32('BOB') |+--------------+--------------+------------ --+| 3448174496 | 4123767104 | 1668084682 |+--------------+--------------+--------------+Příklad 3 – Čísla
Jak již bylo zmíněno, argument je považován za řetězec, i když to ve skutečnosti řetězec není. Zde je příklad, kdy funkci volám dvakrát. Při prvním volání předám číslo (
123
), a podruhé předám řetězec ('123'
).SELECT CRC32(123), CRC32('123');Výsledek:
+------------+--------------+| CRC32(123) | CRC32('123') |+------------+--------------+| 2286445522 | 2286445522 |+------------+--------------+Jak vidíte, dostaneme stejný výsledek pro obě hodnoty.
Příklad 4 – hodnoty NULL
Hodnoty Null vrátí
NULL
.SELECT CRC32(NULL);Výsledek:
+--------------+| CRC32(NULL) |+-------------+| NULL |+-------------+