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

CONV() – Převod čísel mezi různými bázemi v MySQL

Při práci s MySQL můžete použít CONV() funkce pro převod čísla z jednoho základu na druhý. Chce to tři argumenty; číslo, které se má převést, původní základ a základ, na který jej chcete převést.

Syntaxe

Zde je oficiální syntaxe:

CONV(N,from_base,to_base)

Kde from_base je původní základ a to_base je základ, na který chcete číslo převést.

Příklad – Desetinné až binární

Zde je příklad převodu čísla ze základu 10 (desítkové) na základ 2 (binární):

SELECT CONV(3, 10, 2);

Výsledek:

+----------------+
| CONV(3, 10, 2) |
+----------------+
| 11             |
+----------------+

Takže vidíme, že 3 v desítkové soustavě převede na 11 v binárním formátu.

V případě binárního má MySQL také BIN() funkce, která umožňuje převod z desítkové soustavy na binární. Výše uvedený příklad je tedy ekvivalentem následujícího:

SELECT BIN(3);

Výsledek:

+--------+
| BIN(3) |
+--------+
| 11     |
+--------+

Příklad – binární až desítkové

Nicméně jedna výhoda CONV() funkcí je, že vám také umožňuje převést zpět jiným způsobem. Takže bychom mohli přepnout výše uvedený příklad a převést z binárního na desítkové:

SELECT CONV(11, 2, 10);

Výsledek:

+-----------------+
| CONV(11, 2, 10) |
+-----------------+
| 3               |
+-----------------+

Příklad – desítkové až šestnáctkové

V tomto příkladu převedeme z desítkové soustavy na šestnáctkovou:

SELECT CONV(13, 10, 16);

Výsledek:

+------------------+
| CONV(13, 10, 16) |
+------------------+
| D                |
+------------------+

Jak je ukázáno zde, 13 v základu 10 (desetinně) převede na D v základu 16 (hexadecimálně).

Zde je další příklad, tentokrát s použitím většího čísla:

SELECT CONV(12734, 10, 16);

Výsledek:

+---------------------+
| CONV(12734, 10, 16) |
+---------------------+
| 31BE                |
+---------------------+

Podobné jako BIN() funkce pro binární převody, MySQL má také HEX() funkce, která převádí číslo z desítkové na šestnáctkové. Takže předchozí příklad by mohl být přepsán následovně:

SELECT HEX(12734);

Výsledek:

+------------+
| HEX(12734) |
+------------+
| 31BE       |
+------------+

Příklad – základ 36

CONV() funkce přijímá minimální základ 2 (binární) a maximální základ 36. Zde je příklad převodu ze základu 10 na základ 36:

SELECT CONV(12734, 10, 36);

Výsledek:

+---------------------+
| CONV(12734, 10, 36) |
+---------------------+
| 9TQ                 |
+---------------------+


  1. Kdy nebo proč použít SET DEFINE OFF v databázi Oracle

  2. Při pohledu na výkon snímku databáze

  3. Funkce NCHR() v Oracle

  4. Chyba Query v PostgreSQL nevrátila žádné výsledky