sql >> Database teknologi >  >> RDS >> Mysql

CONV() – Konverter tal mellem forskellige baser i MySQL

Når du arbejder med MySQL, kan du bruge CONV() funktion til at konvertere et tal fra en base til en anden. Det kræver tre argumenter; det tal, der skal konverteres, den oprindelige basis, og den base, du vil konvertere den til.

Syntaks

Her er den officielle syntaks:

CONV(N,from_base,to_base)

Hvor from_base er den oprindelige base og to_base er den base, du vil konvertere tallet til.

Eksempel – Decimal til binær

Her er et eksempel på at konvertere et tal fra grundtal 10 (decimal) til grundtal 2 (binært):

SELECT CONV(3, 10, 2);

Resultat:

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

Så vi kan se den 3 i decimal konverteres til 11 i binær.

I tilfælde af binær har MySQL også en BIN() funktion, der giver dig mulighed for at konvertere fra decimal til binær. Derfor svarer ovenstående eksempel til følgende:

SELECT BIN(3);

Resultat:

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

Eksempel – Binær til decimal

En fordel ved CONV() funktion er, at det også giver dig mulighed for at konvertere tilbage den anden vej. Så vi kunne skifte ovenstående eksempel til at konvertere fra binær til decimal:

SELECT CONV(11, 2, 10);

Resultat:

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

Eksempel – Decimal til Hexadecimal

I dette eksempel konverterer vi fra decimal til hexadecimal:

SELECT CONV(13, 10, 16);

Resultat:

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

Som vist her, 13 i grundtal 10 (decimal) konverteres til D i base 16 (hexadecimal).

Her er et andet eksempel, denne gang med et større tal:

SELECT CONV(12734, 10, 16);

Resultat:

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

Svarende til BIN() funktion til binære konverteringer, MySQL har også en HEX() funktion, der konverterer et tal fra decimal til hexadecimal. Så det forrige eksempel kunne omskrives som følger:

SELECT HEX(12734);

Resultat:

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

Eksempel – Base 36

CONV() funktion accepterer en minimum base på 2 (binær) og en maksimal base på 36. Her er et eksempel på konvertering fra base 10 til base 36:

SELECT CONV(12734, 10, 36);

Resultat:

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


  1. PostgreSQL – Sådan fjerner du gentagne værdier

  2. rumfejl:De kolonner, der returneres af forespørgslen, har ikke felterne feltnavn

  3. Matchende algoritme i SQL

  4. IDENTITY() vs IDENTITY() i SQL Server:Hvad er forskellen?