Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2.-Funciones carácter
3.-Funciones numéricas
4.-Trabajando con fechas
5.-Funciones de fecha
Las funciones SQL son una característica muy potente del lenguaje SQL y pueden ser usadas
para hacer lo siguiente:
Las funciones SQL pueden tomar varios argumentos y siempre retornan un solo valor. Hay dos tipos
de funciones SQL, las funciones de fila única que por cada fila retornan un resultado y las
funciones de fila múltiple que devuelven un resultado por juego de registros. En este documento
se cubren las funciones de fila única que operan sobre cada una de las filas y retornan un valor por
cada fila. Hay diferentes tipos de funciones de fila única y se cubrirán las siguientes:
Carácter
Numero
Fecha
Conversión
General
Manipulan datos
Aceptan argumentos y devuelven un valor
Actúan en cada fila que es retornada
Devuelven un resultado por fila
Pueden modificar el tipo de datos
Se pueden anidar
Aceptan argumentos que pueden ser una columna o una expresión
Las funciones de fila única son usadas para manipular datos, aceptan uno o mas argumentos y
siempre devuelven un valor por cada fila que es retornada en la query. Los argumentos pueden ser
uno de los siguientes:
Carácter. Aceptan de entrada valores carácter y pueden devolver valores carácter y numéricos.
Numéricas. La entrada y salida siempre son valores de tipo number.
Conversión. Convierte el tipo de datos de uno de entrada a otro distinto de salida.
Fecha. Opera sobre valores DATE y todas las funciones devuelven DATE excepto
MONTHS_BETWEEN que devuelve NUMBER
General. NVL, NVL2, NULLIF, COALESCE, CASE, DECODE
2.-Funciones carácter
Las funciones de fila única carácter las podemos dividir en funciones de conversión y funciones de
manipulación.
LOWER
UPPER
INITCAP
CONCAT
SUBSTR
LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
6 filas seleccionadas.
6 filas seleccionadas.
6 filas seleccionadas.
6 filas seleccionadas.
CERT@ORCL > SELECT PROD_NAME, INSTR( PROD_NAME, ‘A’,3 ) FROM PRODUCTS WHERE
PROD_NAME IS NOT NULL;
PROD_NAME INSTR(PROD_NAME,’A’,3)
————————- ———————-
PEPE 0
JUAN 3
DANI 0
JON 0
ANE 0
ANA 3
6 filas seleccionadas.
CERT@ORCL > SELECT PROD_NAME, INSTR( PROD_NAME, ‘A’,1,2 ) FROM PRODUCTS WHERE
PROD_NAME IS NOT NULL;
PROD_NAME INSTR(PROD_NAME,’A’,1,2)
————————- ————————
PEPE 0
JUAN 0
DANI 0
JON 0
ANE 0
ANA 3
6 filas seleccionadas.
6 filas seleccionadas.
CERT@ORCL > SELECT PROD_ID, TRIM( TRAILING ‘A’ FROM PROD_NAME ) FROM PRODUCTS
WHERE PROD_NAME IS NOT NULL;
PROD_ID TRIM(TRAILING’A’FROMPROD_
———- ————————-
1 PEPE
2 JUAN
3 DANI
6 JON
6 ANE
7 AN
6 filas seleccionadas.
CERT@ORCL > SELECT PROD_ID, TRIM( BOTH ‘A’ FROM PROD_NAME ) FROM PRODUCTS WHERE
PROD_NAME IS NOT NULL;
PROD_ID TRIM(BOTH’A’FROMPROD_NAME
———- ————————-
1 PEPE
2 JUAN
3 DANI
6 JON
6 NE
7N
6 filas seleccionadas.
CERT@ORCL > SELECT PROD_ID, TRIM( ‘A’ FROM PROD_NAME ) FROM PRODUCTS WHERE
PROD_NAME IS NOT NULL;
PROD_ID TRIM(‘A’FROMPROD_NAME)
———- ————————-
1 PEPE
2 JUAN
3 DANI
6 JON
6 NE
7N
6 filas seleccionadas.
Si no se especifica caracter se eliminan los espacios en blanco y si no se dice si por delante o detras
lo por ambos.
6 filas seleccionadas.
Las funciones que son 100% compatibles con el estandar SQL:2003 son UPPER, LOWER, TRIM,
LENGTH, SUBSTR, INSTR.
3.-Funciones numéricas
Las funciones numéricas aceptan como entrada tipo de datos number y devuelven number.
MOD.- MOD(m,n) Saca el resto de una división, del primer elemento entre el segundo, columnas o
expresiones. Es usado para ver si un valor es par o impar. Par es igual 0 e impar es igual a 1.
CERT@ORCL > select MOD(452525454,2) FROM DUAL;
MOD(452525454,2)
—————-
0
19 87 06 17 17 10 43
Las fechas validas en Oracle van desde el 1 de enero de 4712 a.c hasta el 31 de diciembre del 9999
d.c
CERT@ORCL > SELECT SYSDATE, SYSDATE+1, SYSDATE-1, SYSDATE + 1/24, SYSDATE – SYSDATE+10
FROM DUAL;
SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS FROM employees WHERE department_id =
90;
Fecha menos fecha da como resultado el numero de dias entre ambas fechas y si lo dividimos entre
siete, el numero de semanas que llevan trabajando los empleados del departamento 90.
5.-Funciones de fecha
Todas las funciones de FECHA devuelven tipos de datos DATE salvo la función MONTHS_BETWEEN
que devuelve un NUMBER. El resultado puede ser positivo o negativo. MONTHS_BETWEEN(date1,
date2) devuelve el numero de meses entre una fecha y otra.
TRUNC.- TRUNC(date, [‘fmt’]) Devuelve la fecha truncada con la porción del día especificada en el
formato ‘fmt’. Si el modelo de formato es omitido la fecha es truncada al día actual.
CERT@ORCL > SELECT SYSDATE, TRUNC(SYSDATE) FROM DUAL;
SYSDATE TRUNC(SYSDATE)
——————– ——————–
24-JUL-2014 23:41:47 24-JUL-2014 00:00:00