Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja MySQL CRC32() – Przykłady

W MySQL funkcja CRC32() funkcja oblicza wartość cyklicznej kontroli nadmiarowości i zwraca 32-bitową wartość bez znaku.

CRC oznacza Cykliczną kontrolę nadmiarową . CRC to kod wykrywający błędy powszechnie używany w sieciach cyfrowych i urządzeniach pamięci masowej do wykrywania przypadkowych zmian w nieprzetworzonych danych (chociaż niekoniecznie chroni przed złośliwymi lub celowymi zmianami).

Składnia

Składnia wygląda tak:

CRC32(expr)

Gdzie expr jest ciągiem. Jeśli argument nie jest łańcuchem, MySQL i tak traktuje go jako jeden (albo tak, albo otrzymasz błąd). Jeśli argumentem jest NULL , a następnie NULL jest zwracany.

Przykład 1 – Podstawowe użycie

Oto podstawowy przykład pokazujący, co CRC32() zwraca przykładowy ciąg.

SELECT CRC32('Bob');

Wynik:

+--------------+
| CRC32('Bob') |
+--------------+
|   3448174496 |
+--------------+

Przykład 2 – Rozróżnianie wielkości liter

Otrzymasz inny wynik, w zależności od przypadku, którego używasz.

SELECT 
  CRC32('Bob'),
  CRC32('bob'),
  CRC32('BOB');

Wynik:

+--------------+--------------+--------------+
| CRC32('Bob') | CRC32('bob') | CRC32('BOB') |
+--------------+--------------+--------------+
|   3448174496 |   4123767104 |   1668084682 |
+--------------+--------------+--------------+

Przykład 3 – Liczby

Jak wspomniano, argument jest traktowany jako łańcuch, nawet jeśli w rzeczywistości nie jest to łańcuch. Oto przykład, w którym dwukrotnie wywołuję funkcję. Gdy dzwonię po raz pierwszy, podaję numer (123 ), a za drugim razem przekazuję ciąg ('123' ).

SELECT 
  CRC32(123),
  CRC32('123');

Wynik:

+------------+--------------+
| CRC32(123) | CRC32('123') |
+------------+--------------+
| 2286445522 |   2286445522 |
+------------+--------------+

Jak widać, otrzymujemy ten sam wynik dla obu wartości.

Przykład 4 – wartości NULL

Wartości null zwracają NULL .

SELECT CRC32(NULL);

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolejność SQL według liczby

  2. 50 najważniejszych pytań do rozmowy kwalifikacyjnej MySQL, które musisz przygotować w 2022 r.

  3. Zwróć wiersz tylko wtedy, gdy wartość nie istnieje

  4. Naprawianie uszkodzonego kodowania UTF-8

  5. Najlepsze praktyki tworzenia kopii zapasowych dla MySQL, MariaDB i Galera Cluster