sql >> Base de Datos >  >> RDS >> Mysql

Cómo funciona la función OCT() en MySQL

En MySQL, el OCT() La función se utiliza para convertir de decimal a octal.

Más precisamente, devuelve una representación de cadena del valor octal de su argumento.

Sintaxis

La sintaxis básica es así:

OCT(N)

Donde n es el valor a convertir. Este argumento es un número longlong (BIGINT).

Ejemplo 1:uso básico

He aquí un ejemplo de cómo funciona:

SELECT OCT(8);

Resultado:

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

El resultado es 10 porque ese es el equivalente octal de 8 del sistema decimal.

Ejemplo 2:varios valores

Aquí hay otro ejemplo con varios valores:

SELECT 
  OCT(10),
  OCT(20),
  OCT(30),
  OCT(100),
  OCT(1000);

Resultado:

+---------+---------+---------+----------+-----------+
| OCT(10) | OCT(20) | OCT(30) | OCT(100) | OCT(1000) |
+---------+---------+---------+----------+-----------+
| 12      | 24      | 36      | 144      | 1750      |
+---------+---------+---------+----------+-----------+

Ejemplo 3 – Expresiones

También puede usar expresiones como las siguientes:

SELECT 
  OCT(100 + 2),
  OCT(100 * 2),
  OCT(100 / 2),
  OCT(100 - 2);

Resultado:

+--------------+--------------+--------------+--------------+
| OCT(100 + 2) | OCT(100 * 2) | OCT(100 / 2) | OCT(100 - 2) |
+--------------+--------------+--------------+--------------+
| 146          | 310          | 62           | 142          |
+--------------+--------------+--------------+--------------+

¿Qué es octal?

Octal es un sistema de notación numérica que tiene 8 como base. Esto contrasta con decimal, que tiene 10 como base.

En decimal, contamos hasta 9, luego comenzamos de nuevo agregando un cero después del primer dígito (por ejemplo, después de 9 viene 10, que es 1 con un cero agregado).

Sin embargo, en octal (base 8), solo contamos hasta 7 antes de comenzar de nuevo y agregar un cero. Así que 10 en octal es el equivalente a 8 en decimal.

Aquí hay una tabla para demostrar:

Decimal (Base 10) Octubre (Base 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