Funciones SQL
En SQL disponemos de funciones predefinidas que devuelven un valor en función de un argumento que se pasa en la llamada.
Cabe subrayar que la función no modifica el valor del argumento sino que devuelve un valor creado a partir del argumento que se le pasa en la llamada.
Funciones numéricas o aritméticas:
Función Valor que devuelve
ABS(num) Valor absoluto denum
MOD(num1, num2) Resto de la división entera
POWER(num1, num2) Devuelve num1 elevado a num2
ROUND(num1, num2) Devuelve num1 redondeado a num2 decimales
SIGN(num) Si num < 0 devuelve -1, si num = 0 devuelve 0, si num > 0 devuelve 1
SQRT(num) Raíz cuadrada de num
TRUNC(num1, num2) Devuelve num1 truncado a num2 decimales. Si se omite num2, a 0 decimales
Funciones de caracteres:Funcion Valor que devuelve
ASCII(c1) Codigo ASCII del carácter c1
CHR(num) Carácter correspondiente al código indicado por num del juego de caracteres utilizado.
CONCAT(c1, c2) Concatena c1 con c2. Es equivalente al operador ||
INITCAP(c1) Devuelve c1 poniendo en mayúscula la primera lera de cada palabra de la cadena y el resto en minúsculas.
LENGTH(c1) Longitud de c1.
LOWER(c1) La cadena c1 enminúsculas.
UPPER(c1) La cadena c1 en mayúsculas
LPAD(c1, n, c2) C1 se visualiza con longitud n y justificado a la derecha. Si c1 < n, c2 es la cadena con la que se rellena por la izquierda.
RPAD(c1, n, c2) Igual que LPAD pero por la derecha
LTRIM(c1) Suprime blancos a la izquierda de c1
RTRIM(c1) Suprime blancos a la derecha de c1
SUBSTR(c1, n, c2) Devuelve una subcadena a partir de c1comenzando en la posición n tomando m caracteres
TRANSLATE(c1, n, c2) Devuelve la cedena c1 con cada ocurrencia de c2 que contenga reemplazada por c3.
Funciones de fecha:
Función Valor que devuelve
ADD_MONTHS(f,n) Incremente n meses a la fecha f.
LAST_DAY(f) Ultimo día del mes de la fecha
MONTHS_BETWEEN(f1,f2) Numero de meses entre las dos fechas. El resultado puede contener decimalescorrespondientes a fracciones de mes.
SYSDATE Fecha actual. También la hora si se especifica en el formato.
Funciones de conversión:
Función Valor que devuelve
TO_NUMBER(c1) Convierte una cadena a tipo numérico
TO_CHAR(n, formato) Devuelve un numero en formato char según las siguientes especificaciones de formato:
Cod. Ejemplo Descripción
9 999 Cada 9 indica un digito
0 099 Visualiza ceros a laizquierda
$ $99 Antepone el símbolo de $
MI 99MI Visualiza un ‘-‘ después de un numero negativo
B B99 En lugar de 0 visualiza blancos
, 999,999 Visualiza el separador de los miles
. 999.99 Visualiza el punto de separación de decimales
TO_CHAR(fecha, formato) Devuelve cadena a partir de una fecha según las siguientes especificaciones de formato:
Formato Descripción
YYYY Cuatro dígitos en elaño
YY Últimos dos dígitos del año(también con tres y uno)
YEAR Año deletreado
MM Mes de numero
MONTH Mes en letra
DD Día del mes
DDD Día del año
D Día de la semana
DAY Nombre del día de la semana
DY Nombre del día con tres letras
WW Semana del año
W Semana del mes
Q Trimestre del año
AM/PM Formato 12 horas indicando AM o PM
HH24 Formato 24 horas
MI Minutos
SS Segundos
SSSS Horaen segundo desde las 0 horas del día
TO_DATE Devuelve fecha a partir de una cadena según las especificaciones de formato indicadas antes.
Otras funciones:
Función Valor que devuelve
GREATEST(lista de valores) Valor más grande de una lista.
LEAST(lista de valores) Valor más pequeño de una lista.
NVL(exp1, exp2) Si expl es nulo devuelve exp2. Sino devuelve exp1.
USER Devuelve el nombre delusuario actual.
UID Devuelve el número de identificación del usuario actual. Esta función, igual que la anterior, no tiene argumentos.
Instrucción ROLLUP
El operador ROLLUP proporciona agregados y superagregados para expresiones dentro de una sentencia GROUP BY.
El operador ROLLUP crea agrupamientos moviéndose en una dirección, de derecha a izquierda, a lo largo de la lista de columnas...
Regístrate para leer el documento completo.