Usar funciones de conversión

Introducción a Oracle SQL

Hadrien Lacroix

Content Developer

Tipos de datos

Los tipos de datos definen qué tipo de dato puede contener una columna.

Datos numéricos Datos de texto Datos de fecha
AVG x
SUM x
MIN x x x
COUNT x x x

Las funciones de conversión convierten una columna de un tipo de dato a otro

Introducción a Oracle SQL

Funciones de conversión

  • Conversión de tipos de datos
    • Conversión implícita
    • Conversión explícita
Introducción a Oracle SQL

Conversión implícita de tipos de datos

SQL convierte los tipos de datos automáticamente

SELECT 'Track length: ' || Milliseconds
FROM Track
| 'Track length: ' || Milliseconds     |
|--------------------------------------|
| Track length: 343719                 |
| Track length: 342562                 |
| ...                                  |
Introducción a Oracle SQL

Conversión explícita de tipos de datos

Diagrama resumen de funciones de conversión y tipos de datos

Introducción a Oracle SQL

Convertir a datos de texto

Convierte un número en formato de texto a formato de caracteres con TO_CHAR:

SELECT UnitPrice, TO_CHAR(UnitPrice, '$999.99') 
FROM InvoiceLine
| UnitPrice   | TO_CHAR(UnitPrice, '$9.99') |
|-------------|-----------------------------|
| 0.99        | $0.99                       |
| 1.99        | $1.99                       |
| ...         | ...                         |
  • $ : Símbolo de dólar flotante
  • . : Posición decimal
  • 9 : Especifica posición numérica. El número de 9 indica el ancho mostrado
  • 0 : Especifica ceros a la izquierda
  • , : Posición de la coma en el número
Introducción a Oracle SQL

Convertir a datos de texto

Convierte una fecha en formato de texto a caracteres con TO_CHAR:

SELECT TO_CHAR(BirthDate, 'DD-MON-YYYY') 
FROM Employee
| TO_CHAR(BirthDate, 'DD-MON-YYYY') |
|-----------------------------------|
| 19-SEP-1947                       |
| ...                               |
  • YYYY: Año con cuatro dígitos
  • YEAR: Año en letras
  • MM: Mes con dos dígitos
  • MONTH: Nombre completo del mes
  • MON: Mes abreviado (3 letras)
  • DY: Día de la semana abreviado (3 letras)
  • DAY: Nombre completo del día
  • DD: Día del mes numérico
Introducción a Oracle SQL

Convertir a datos numéricos

Convierte una cadena de texto a formato numérico con TO_NUMBER:

SELECT TO_NUMBER('$15,000.75', '$999,999.99')
FROM DUAL
| TO_NUMBER('$15,000.75', '$999,999.99') |
|----------------------------------------|
| 15000.75                               |
  • $ : Símbolo de dólar flotante
  • . : Posición decimal
  • 9 : Especifica posición numérica. El número de 9 indica el ancho mostrado
  • 0 : Especifica ceros a la izquierda
  • , : Posición de la coma en el número
Introducción a Oracle SQL

Convertir a datos de fecha

Convierte una cadena de texto a formato de fecha con TO_DATE:

SELECT TO_DATE('2016-01-31','YYYY-MM-DD')
FROM DUAL
| TO_DATE('2016-01-31','YYYY-MM-DD')     |
|----------------------------------------|
| 31-JAN-16                              |
  • YYYY: Año con cuatro dígitos
  • YEAR: Año en letras
  • MM: Mes con dos dígitos
  • MONTH: Nombre completo del mes
  • MON: Mes abreviado (3 letras)
  • DY: Día de la semana abreviado (3 letras)
  • DAY: Nombre completo del día
  • DD: Día del mes numérico
Introducción a Oracle SQL

¿Qué conversión de tipo de dato deberías usar?

Señal de precaución

 

  • Usa siempre conversión explícita
    • Más fácil de leer y mantener
    • El código seguirá funcionando
Introducción a Oracle SQL

¡Vamos a practicar!

Introducción a Oracle SQL

Preparing Video For Download...