I MySQL er CRC32()
funktion beregner en cyklisk redundanskontrolværdi og returnerer en 32-bit usigneret værdi.
CRC står for Cyclic Redundancy Check . En CRC er en fejldetekterende kode, der almindeligvis bruges i digitale netværk og lagerenheder til at detektere utilsigtede ændringer af rådata (selvom den ikke nødvendigvis beskytter mod ondsindede eller bevidste ændringer).
Syntaks
Syntaksen ser sådan ud:
CRC32(udtr.)
Hvor expr
er en streng. Hvis argumentet ikke er en streng, behandler MySQL det som en alligevel (enten det, eller også får du en fejl). Hvis argumentet er NULL
, derefter NULL
er returneret.
Eksempel 1 – Grundlæggende brug
Her er et grundlæggende eksempel for at demonstrere, hvad CRC32()
returnerer for en prøvestreng.
VÆLG CRC32('Bob');
Resultat:
+--------------+| CRC32('Bob') |+--------------+| 3448174496 |+--------------+
Eksempel 2 – Versalfølsomhed
Du får et andet resultat, afhængigt af den sag, du bruger.
VÆLG CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Resultat:
+--------------+-------------+--------------+| CRC32('Bob') | CRC32('bob') | CRC32('BOB') |+--------------------------------- --+| 3448174496 | 4123767104 | 1668084682 |+--------------+--------------+-------------+Eksempel 3 – Tal
Som nævnt behandles argumentet som en streng, selvom det faktisk ikke er en streng. Her er et eksempel, hvor jeg kalder funktionen to gange. Første gang jeg ringer til det, indtaster jeg et nummer (
123
), og anden gang passerer jeg en streng ('123'
).VÆLG CRC32(123), CRC32('123');Resultat:
+------------+--------------+| CRC32(123) | CRC32('123') |+------------+-------------+| 2286445522 | 2286445522 |+------------+------------------+Som du kan se, får vi det samme resultat for begge værdier.
Eksempel 4 – NULL-værdier
Null-værdier returnerer
NULL
.VÆLG CRC32(NULL);Resultat:
+-------------+| CRC32(NULL) |+-------------+| NULL |+-------------+