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

CONV() – Konwertuj liczby między różnymi bazami w MySQL

Podczas pracy z MySQL możesz użyć funkcji CONV() funkcja konwersji liczby z jednej podstawy do drugiej. Wymaga trzech argumentów; liczba do przekonwertowania, oryginalna podstawa i podstawa, na którą chcesz ją przekonwertować.

Składnia

Oto oficjalna składnia:

CONV(N,from_base,to_base)

Gdzie from_base jest oryginalną bazą, a to_base jest bazą, na którą chcesz przekonwertować liczbę.

Przykład – dziesiętny na binarny

Oto przykład konwersji liczby z podstawy 10 (dziesiętnej) na podstawę 2 (binarną):

SELECT CONV(3, 10, 2);

Wynik:

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

Widzimy więc, że 3 w liczbach dziesiętnych konwertuje do 11 w formacie binarnym.

W przypadku plików binarnych MySQL ma również funkcję BIN() funkcja umożliwiająca konwersję z dziesiętnego na binarny. Dlatego powyższy przykład jest odpowiednikiem następującego:

SELECT BIN(3);

Wynik:

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

Przykład — binarny na dziesiętny

Jednak jedna z zalet CONV() funkcja polega na tym, że umożliwia również konwersję z powrotem w drugą stronę. Możemy więc zmienić powyższy przykład, aby przekonwertować z binarnego na dziesiętny:

SELECT CONV(11, 2, 10);

Wynik:

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

Przykład – dziesiętny na szesnastkowy

W tym przykładzie konwertujemy z dziesiętnego na szesnastkowy:

SELECT CONV(13, 10, 16);

Wynik:

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

Jak pokazano tutaj, 13 w bazie 10 (dziesiętnie) zamienia się na D w podstawie 16 (szesnastkowo).

Oto kolejny przykład, tym razem z większą liczbą:

SELECT CONV(12734, 10, 16);

Wynik:

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

Podobne do BIN() funkcja konwersji binarnych, MySQL ma również funkcję HEX() funkcja konwertująca liczbę z dziesiętnej na szesnastkową. Zatem poprzedni przykład można przepisać w następujący sposób:

SELECT HEX(12734);

Wynik:

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

Przykład – podstawa 36

CONV() funkcja przyjmuje minimalną podstawę 2 (binarną) i maksymalną podstawę 36. Oto przykład konwersji z podstawy 10 na podstawę 36:

SELECT CONV(12734, 10, 36);

Wynik:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ostrzeżenie PHP:mysqli_connect():(HY000/2002):Połączenie odrzucone

  2. SELECT COUNT(*) AS count - Jak korzystać z tej liczby

  3. Jak liczyć słowa w MySQL / zamienniku wyrażeń regularnych?

  4. Utwórz skrypt bash monitorujący zapytania MySQL

  5. Kiedy używać MyISAM i InnoDB?