Funciones de una sola
fila
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
1
¿Qué son las funciones?
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
2
Idea de función
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
3
Invocar a una función
nombreFunción(parámetro1,parámetro2,…)
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
4
Invocar a una función. Ejemplos
• SYSDATE
• TO_DATE(‘12/3/2017’,’dd/mm/yyyy’)
• ROUND(8.3)
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
5
Tabla DUAL. Permite hacer pruebas
• SELECT SYSDATE FROM DUAL;
• SELECT ROUND(8.3) FROM DUAL;
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
6
Funciones de fila
• SELECT SYSDATE FROM DUAL;
• SELECT ROUND(8.3) FROM DUAL;
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
7
Funcionamiento de
las funciones de fila
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
8
Funciones numéricas
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
9
Redondeos
• ROUND(7.667,2) Obtiene 7,67
• TRUNC(7.667,2) Obtiene 7,66
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
10
Matemáticas
• MOD(15,4) Obtiene 3 (resto de 15/4)
• SQRT(9) Obtiene 3 (raíz cuadrada)
• SIGN(-3) Obtiene -1
• SIGN(3) Obtiene 1
• SIGN(0) Obtiene 0
• ABS(3) Obtiene 3
• ABS(-3) Obtiene 3
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
11
Funciones de texto
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
12
Mayúsculas y minúsculas
• LOWER(‘Jorge’) Obtiene jorge
• UPPER(‘Jorge’) Obtiene JORGE
• INITCAP(‘jorge sánchez’)
Obtiene Jorge Sánchez
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
13
Espacios
• RTRIM(‘Jorge ’) Obtiene ‘Jorge’
• LTRIM(‘ Jorge’) Obtiene ‘Jorge’
• TRIM(‘ Jorge Sánchez ’)
Obtiene ‘Jorge Sánchez’
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
14
Manipulación de texto
• LENGTH(‘Jorge’) Obtiene 5
• SUBSTR(‘Jorge Sánchez’,4)
Obtiene ‘ge Sánchez’
• SUBSTR(‘Jorge Sánchez’,4,2) Obtiene ‘ge’
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
15
Manipulación de texto
• INSTR(‘Jorge Sánchez’,’e’) Devuelve 5
• INSTR(‘Jorge Sánchez’,’e’,6) Devuelve 12
• INSTR(‘Jorge Sánchez’,’e’,1,2) Devuelve 12
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
16
Manipulación de texto
• REPLACE(‘Jorge Sánchez’,’e’)
Devuelve Jorg Sánchz
• REPLACE(‘Jorge Sánchez’,’e’,’a’)
Devuelve Jorga Sánchaz
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
17
Manipulación de texto
• TRANSLATE(‘Jorge Sánchez Asenjo’,’eo’,’zx’)
Devuelve Jxrgz Sánchzz Asznjx
• TRANSLATE(‘Jorge Sánchez
Asenjo’,’eo’,**’)
Devuelve J*rg* Sánch*z As*nj*
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
18
Manipulación de texto
• LPAD(‘Hola’,10,’-’) Devuelve ------Hola
• RPAD(‘Hola’,10,’-’) Devuelve Hola------
• REVERSE(‘Hola’)
Devuelve aloH
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
19
Otras
• ASCII(‘A’) Devuelve 65
• CHR(65) Devuelve ‘A’
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
20
Funciones de nulos
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
21
Funciones de trabajo con nulos
• NVL(teléfono,’sin teléfono’)
Si teléfono es nulo devuelve‘sin teléfono’
• NVL2(teléfono,’con teléfono’,’sin teléfono’)
Si teléfono es nulo devuelve ‘sin teléfono’ y si no lo es
devuelve ‘con teléfono’
• NULLIF(valor1,valor2)
Si valor1=valor2, devuelve nulo, sino devuelve valor2
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
22
Funciones de trabajo con nulos
• COALESCE(valor1,valor2,valor2)
Devuelve, de la lista, el primer valor no nulo
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
23
Funciones de fecha, hora e
intervalos
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
24
Fecha y hora actual
• SYSDATE Devuelve la fecha actual
• SYSTIMESTAMP Devuelve la fecha y hora actual
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
25
Funciones de cálculo sobre fechas
• ADD_MONTHS(SYSDATE,1)
Añade un mes a la fecha actual y devuelve esa fecha
• MONTHS_BETWEEN(FECHA1,FECHA2)
Meses de diferencia entre las fechas
• LAST_DAY(SYSDATE)
Devuelve el último día de este mes
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
26
Funciones de cálculo sobre fechas
• EXTRACT(DAY FROM SYSDATE)
Saca el número de día del mes actual
• EXTRACT(MONTH FROM SYSDATE)
Saca el número de mes actual
• EXTRACT(HOUR FROM SYSTIMESTAMP)
Saca el número de hora actual
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
27
Comparaciones
• GREATEST(fecha1,fecha2,fecha3..)
Obtiene la fecha más moderna
• LEAST(fecha1,fecha2,fecha3..)
Obtiene la fecha más antigua
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
28
Redondeos
• ROUND(SYSDATE,’YEAR’)
Obtiene el 1 de enero del año más cercano
• ROUND(SYSDATE,’MONTH’)
Obtiene el primer día del mes más cercano
• ROUND(SYSTIMESTAMP,’DAY’)
Obtiene las 0:00 del día más cercano
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
29
Redondeos
• TRUNC(SYSDATE,’YEAR’)
Obtiene el 1 de enero de este año
• TRUNC(SYSDATE,’MONTH’)
Obtiene el primer día de este mes
• TRUNC(SYSTIMESTAMP,’DAY’)
Obtiene las 0:00 de hoy
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
30
Funciones de conversión
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
31
Resumen de funciones de conversión
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
32
Funciones
• TO_CHAR(fecha,formato)
Convierte la fecha a texto usando el formato indicado
• TO_CHAR(número,formato)
Convierte el número a texto usando el formato indicado
• TO_NUMBER(texto,formato)
Convierte el texto a número usando el formato
• TO_DATE(texto,formato)
Convierte el texto a fecha y hora usando el formato
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
33
Símbolos de las funciones de conversión de
fechas
• RR: Dos cifras para el año (formato de Oracle)
• Y: Última cifra del año
• YY: Año en dos cifras
• YYY: Año en tres cifras
• YYYY: Año en cuatrocifras
• YEAR: Formato hablado de año (en inglés)
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
34
Símbolos de las funciones de conversión de
fechas
• CC: Siglo
• AC: Si el año es superior al 0, se pone DC
• BC: Si el año es inferior al 0, se pone AC
• MM: Mes en dos cifras
• MON: Mes usando tres letras
• MONTH: Nombre del mes
• RM: Mes en romano
Gestión de Bases de Datos
Funciones de una sola fila de Oracle
Jorge Sánchez Asenjo, 2017
www.jorgesanchez.net
[email protected]
@jorgesancheznet
35
Símbolos de las funciones de conversión d
Comentarios de: Funciones de una sola fila (0)
No hay comentarios