Mysql
 sql >> база данни >  >> RDS >> Mysql

2 начина за конвертиране на число в осмично в MySQL

Ако трябва да преобразувате число от десетично в осмично число (база 8), две функции идват на ум, ако използвате MySQL. Едната функция е специално за извършване на осмични преобразувания, другата е за извършване на преобразувания между различни бази. Те са както следва:

OCT()
Тази функция се използва специално за преобразуване от десетичен в осмичен.
CONV()
Тази функция има по-общо предназначение. Позволява ви да посочите основата на оригиналния номер и резултата. С други думи, можете да конвертирате от всяка база към всяка база (стига всяка база да е между 2 и 36).

Повече за тези две функции по-долу.

Функцията OCT()

Както споменахме, тази функция е специално за преобразуване от десетичен в осмичен. Синтаксисът му е така:

OCT(N)

Където N е десетичното число, което искате да преобразувате в осмично число.

Ето един пример:

SELECT OCT(8);

Резултат:

+--------+
| OCT(8) |
+--------+
| 10     |
+--------+

Резултатът е 10 защото това е осмичният еквивалент на 8 в десетичната система.

Функцията CONV()

Това е функция с по-общо предназначение, която ви позволява да посочите не само системата за номериране, която да преобразувате в , но също и номерационната система за преобразуване от .

Синтаксис:

CONV(N,from_base,to_base)

Където N е числото за преобразуване, from_base е базата за конвертиране и to_base е основата за преобразуване.

Така че можем да пренапишем предишния пример на това:

SELECT CONV(8, 10, 8);

Резултат:

+----------------+
| CONV(8, 10, 8) |
+----------------+
| 10             |
+----------------+

И получаваме същия резултат, защото преобразуваме числото от основа 10 в основа 8.

Едно предимство на CONV() функцията е, че можете да конвертирате между други бази. Например бихме могли също толкова лесно да преобразуваме от, да речем, база 8 в база 16.

Какво е Octal?

Осмицата е система от числови записи, която има 8 като основа. Това е за разлика от десетичната запетая, която има 10 като основа.

При десетичен брой броим до 9, след което започваме отново, като добавяме нула след първата цифра (например след 9 идва 10, което е 1 с добавена нула към него).

В осмична (база 8) обаче броим само до 7, преди да започнем отново и да добавим нула. Така че 10 в осмични числа е еквивалент на 8 в десетичната запетая.

Ето таблица за демонстрация:

Десетична (основа 10) Осмически (база 8)
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12
11 13
12 14
13 15
14 16
15 17
16 20
17 21
18 22
19 23
20 24


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да отмените завъртане на таблицата в MySQL

  2. PHP mysql търси множество таблици с помощта на ключова дума

  3. MySQL – Възстановяване на пропусната база данни със схема на производителност

  4. Вмъкване/актуализиране на помощна функция с помощта на PDO

  5. SQLSTATE[HY000] [1045] Достъпът е отказан за потребител 'username'@'localhost' с помощта на CakePHP