sql >> Databáze >  >> RDS >> Mysql

CHAR() Příklady v MySQL

V MySQL je to CHAR() funkce vrací znak pro každé předané celé číslo. Jinými slovy, můžete zadat jedno nebo více celých čísel a funkce je bude interpretovat jako hodnoty kódu pro znaky řetězce a pro každou hodnotu kódu vrátí odpovídající řetězec.

Syntaxe

Syntaxe vypadá takto:

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

Kde N,... je jedno nebo více celých čísel a USING charset_name je volitelný argument, který můžete použít k určení znakové sady, která se má použít.

Příklad 1 – Základní použití

Zde je příklad demonstrující základní použití:

SELECT CHAR(67, 97, 116);

Výsledek:

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

Pokud tedy změníme jedno z celých čísel, dostaneme jiný řetězec:

SELECT CHAR(66, 97, 116);

Výsledek:

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

Příklad 2 – Klauzule USING

Zde je příklad přidání USING klauzule k určení kódování UTF-8:

SELECT CHAR(0xc2a9 USING utf8);

Výsledek:

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

A zde je další příklad, kde určuji bod kódu unicode:

SELECT CHAR(0x027FE USING ucs2);

Výsledek:

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

Příklad 3 – Více bajtů výsledku

Argumenty větší než 255 se převedou na více výsledných bajtů. Zde je příklad k demonstraci.

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

Výsledek:

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

A pokud čísla zvýšíme:

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

Výsledek:

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

  1. Chybí rozšíření mysqli, nefunguje phpmyadmin

  2. Nelze se připojit k Postgres přes PHP, ale lze se připojit z příkazového řádku a PgAdmin na jiném počítači

  3. Jak fungují implicitní transakce na serveru SQL Server

  4. Funkce rozdělení v oracle na hodnoty oddělené čárkou s automatickou sekvencí