sql >> Database >  >> RDS >> Mysql

CONV() – Converteer getallen tussen verschillende bases in MySQL

Als u met MySQL werkt, kunt u de CONV() . gebruiken functie om een ​​getal van het ene grondtal naar het andere te converteren. Er zijn drie argumenten nodig; het te converteren getal, het oorspronkelijke grondtal en het grondtal waarnaar je het wilt converteren.

Syntaxis

Dit is de officiële syntaxis:

CONV(N,from_base,to_base)

Waar from_base is de originele basis, en to_base is de basis waarnaar u het getal wilt converteren.

Voorbeeld – Decimaal naar Binair

Hier is een voorbeeld van het converteren van een getal van grondtal 10 (decimaal) naar grondtal 2 (binair):

SELECT CONV(3, 10, 2);

Resultaat:

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

Dus we kunnen zien dat 3 in decimalen converteert naar 11 in binair.

In het geval van binair heeft MySQL ook een BIN() functie waarmee u van decimaal naar binair kunt converteren. Daarom is het bovenstaande voorbeeld het equivalent van het volgende:

SELECT BIN(3);

Resultaat:

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

Voorbeeld – Binair naar Decimaal

Een voordeel van de CONV() functie is dat het u ook in staat stelt om andersom terug te converteren. We kunnen het bovenstaande voorbeeld dus omzetten van binair naar decimaal:

SELECT CONV(11, 2, 10);

Resultaat:

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

Voorbeeld – Decimaal naar hexadecimaal

In dit voorbeeld converteren we van decimaal naar hexadecimaal:

SELECT CONV(13, 10, 16);

Resultaat:

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

Zoals hier aangetoond, 13 in grondtal 10 (decimaal) converteert naar D in grondtal 16 (hexadecimaal).

Hier is nog een voorbeeld, dit keer met een groter getal:

SELECT CONV(12734, 10, 16);

Resultaat:

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

Gelijk aan de BIN() functie voor binaire conversies, MySQL heeft ook een HEX() functie die een getal omzet van decimaal naar hexadecimaal. Het vorige voorbeeld kan dus als volgt worden herschreven:

SELECT HEX(12734);

Resultaat:

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

Voorbeeld – Basis 36

De CONV() functie accepteert een minimum grondtal van 2 (binair) en een maximum grondtal van 36. Hier is een voorbeeld van het converteren van grondtal 10 naar grondtal 36:

SELECT CONV(12734, 10, 36);

Resultaat:

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


  1. 2 manieren om het compatibiliteitsniveau in Oracle te controleren (SQLcl &SQL*Plus)

  2. SQL, Bij het verwijderen van cascade en bij het bijwerken van cascade

  3. Linq to Entities Group By (OUTER APPLY) oracle 11.2.0.3.0 ondersteunt niet van toepassing

  4. postgresql migreert JSON naar JSONB