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

CHAR() Przykłady w MySQL

W MySQL, CHAR() funkcja zwraca znak dla każdej przekazanej liczby całkowitej. Innymi słowy, możesz przekazać jedną lub więcej liczb całkowitych, a funkcja zinterpretuje je jako wartości kodu dla znaków ciągu i zwróci odpowiedni ciąg dla każdej wartości kodu.

Składnia

Składnia wygląda tak:

CHAR(N,... [USING charset_name])

Gdzie N,... to jedna lub więcej liczb całkowitych, a USING charset_name jest opcjonalnym argumentem, którego możesz użyć do określenia zestawu znaków do użycia.

Przykład 1 – Podstawowe użycie

Oto przykład demonstrujący podstawowe użycie:

SELECT CHAR(67, 97, 116);

Wynik:

+-------------------+
| CHAR(67, 97, 116) |
+-------------------+
| Cat               |
+-------------------+

Więc jeśli zmienimy jedną z liczb całkowitych, otrzymamy inny ciąg:

SELECT CHAR(66, 97, 116);

Wynik:

+-------------------+
| CHAR(66, 97, 116) |
+-------------------+
| Bat               |
+-------------------+

Przykład 2 – Klauzula UŻYWANIE

Oto przykład dodawania USING klauzula określająca kodowanie UTF-8:

SELECT CHAR(0xc2a9 USING utf8);

Wynik:

+-------------------------+
| CHAR(0xc2a9 USING utf8) |
+-------------------------+
| ©                       |
+-------------------------+

A oto kolejny przykład, w którym określam punkt kodowy Unicode:

SELECT CHAR(0x027FE USING ucs2);

Wynik:

+--------------------------+
| CHAR(0x027FE USING ucs2) |
+--------------------------+
| ⟾                        |
+--------------------------+

Przykład 3 – Wiele bajtów wyników

Argumenty większe niż 255 są konwertowane na wiele bajtów wyników. Oto przykład do zademonstrowania.

SELECT 
  HEX(CHAR(1,0)), 
  HEX(CHAR(256)),
  HEX(CHAR(1,1)), 
  HEX(CHAR(257));

Wynik:

+----------------+----------------+----------------+----------------+
| HEX(CHAR(1,0)) | HEX(CHAR(256)) | HEX(CHAR(1,1)) | HEX(CHAR(257)) |
+----------------+----------------+----------------+----------------+
| 0100           | 0100           | 0101           | 0101           |
+----------------+----------------+----------------+----------------+

A jeśli zwiększymy liczby:

SELECT 
  HEX(CHAR(7,0)), 
  HEX(CHAR(1792)),
  HEX(CHAR(7,7)), 
  HEX(CHAR(1799));

Wynik:

+----------------+-----------------+----------------+-----------------+
| HEX(CHAR(7,0)) | HEX(CHAR(1792)) | HEX(CHAR(7,7)) | HEX(CHAR(1799)) |
+----------------+-----------------+----------------+-----------------+
| 0700           | 0700            | 0707           | 0707            |
+----------------+-----------------+----------------+-----------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między FIELD() i FIND_IN_SET() w MySQL

  2. Jak uciec przed słowami zastrzeżonymi używanymi jako nazwy kolumn? MySQL/Utwórz tabelę

  3. Jak wyświetlić sortowanie serwerów w MySQL?

  4. SQL — JEŚLI ISTNIEJE AKTUALIZUJ JEŚLI WSTAWIĆ DO

  5. Czy MySQL FIND_IN_SET lub odpowiednik może używać indeksów?