Upload
cristianpark
View
328
Download
4
Embed Size (px)
Citation preview
Funciones Útiles Oracle/SQL
Ing. Cristian Gómez Alvarez@cristianparkhttp://cristianpark.wordpress.com
● MANEJO DE CADENAS
● CONVERSIÓN
● FUNCIONES NUMÉRICAS
● FECHAS
● AVANZADAS
● Listado completo en:
http://www.techonthenet.com/oracle/functions/
FUNCIONES ORACLE/SQL
Funciones que permiten realizar operaciones con variables o campos de tipos de datos que representen cadenas. Las de mayor uso son:
● LENGTH● LOWER – UPPER● REPLACE● ASCII – CHR● SUBSTR● INSTR
MANEJO DE CADENAS
Permite determinar el número de caracteres que utiliza una variable o campo (puede diferir del definido)
Sintaxis
LENGTH(cadena)
Entrada
cadena: Variable/campo de tipo de datos cadena (varchar2, character)
Salida
Número de caracteres usados por la cadena
LENGTH
Permite convertir todos los caracteres de una cadena a minúsculas.
Sintaxis
LOWER(cadena)
Entrada
cadena: Variable/campo de tipo de datos cadena (varchar2, character)
Salida
Cadena con todos los caracteres en minúsculas
LOWER
Permite convertir todos los caracteres de una cadena a mayúsculas.
Sintaxis
UPPER(cadena)
Entrada
cadena: Variable/campo de tipo de datos cadena (varchar2, character)
Salida
Cadena con todos los caracteres en mayúsculas
UPPER
Permite reemplazar caracteres de una cadena
Sintaxis
REPLACE(cadena, reemplazar[, reemplazo] )
Entrada
cadena: string/variable/campo de tipo de datos carácter (varchar2, character)
reemplazar: string/variable/campo de tipo de datos carácter (varchar2, character)
Reemplazo (opcional): string/variable/campo de tipo de datos carácter (varchar2, character)
Salida
Cadena con los remplazos efectuados (elimina los caracteres de reemplazar si no se especifica la cadena reemplazo)
REPLACE
Retorna el código ASCII de un caracter
Sintaxis
ASCII(caracter)
Entrada
caracter: carácter/variable/campo del que se desea saber su código ASCII.
Salida
Código ASCII de caracter
ASCII
Retorna el caracter generado con un código ASCII
Sintaxis
CHR(codigoASCII)
Entrada
codigoASCII: código ASCII del caracter a obtener.
Salida
Caracter que representa codigoASCII
CHR
Recortar una cadena a una longitud determinada
Sintaxis
SUBSTR(cadena, posInicio, [longitud] )
Entrada
cadena: cadena/variable/campo de tipo cadena de la que se quiere extraer una porción
posInicio: posición de inicio desde la que se corta la cadena
Longitud: longitud de la cadena a obtener
Salida
Cadena recortada desde posInicio hasta longitud caracteres
SUBSTR
Retorna la posición de un carácter/cadena que está contenido en una cadena
Sintaxis
INSTR( cadena, subCadena [, posicionInicio [, numOcurrencia ] ] )
Entrada
cadena: cadena/variable/campo de tipo cadena en la que se busca subCadena
SubCadena: parte de la cadena original de la que se quiere determinar la posición.
posInicio: posición de inicio desde la que se busca subCadena en cadena
numOcurrencia: si subCadena está más de una vez en cadena, se puede determinar de qué ocurrencia se desea obtener la posición
Salida
Número que indica la posición donde empieza subCadena dentro de cadena
INSTR
Funciones que permiten realizar conversiones entre tipos de datos:
● CAST● TO_CHAR● TO_DATE● TO_NUMBER
CONVERSIÓN
Convierte un valor de un tipo de datos a otro
Sintaxis
CAST (expresión | subconsulta AS tipo)
Entrada
Expresión | subconsulta: Valor a convertir
tipo: tipo de dato al que se desea convertir
Salida
Valor en tipo de dato tipo
CAST
Conversiones soportadas
Convertir un valor en cadena
Sintaxis
TO_CHAR( valor [, formato ], [ lenguajeNLS ] )
Entrada
valor: valor a convertir a cadena
formato: formato del número/fecha que se va a convertir
LenguajeNLS: lenguaje NLS al que se debe convertir
Salida
Cadena del valor convertido
TO_CHAR
Convertir una cadena a fecha
Sintaxis
TO_DATE( cadena [, formato ], [ lenguajeNLS ] )
Entrada
cadena: valor a convertir a fecha
formato: formato de la cadena que se va a convertir a fecha
LenguajeNLS: lenguaje NLS al que se debe convertir
Salida
Fecha de la cadena convertida
TO_DATE
Convertir una cadena en número
Sintaxis
TO_NUMBER( cadena [, formato ], [ lenguajeNLS ] )
Entrada
cadena: cadena a convertir a valor numérico
formato: formato de la cadena que se va a convertir
LenguajeNLS: lenguaje NLS al que se debe convertir
Salida
Valor numérico de la cadena convertida
TO_NUMBER
Funciones que permiten realizar operaciones numéricas:
● EXTRACT● ROUND● POWER● MOD
NUMÉRICAS
Extrae una porción de una fecha
Sintaxis
EXTRACT (
{ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }
| { TIMEZONE_HOUR | TIMEZONE_MINUTE }
| { TIMEZONE_REGION | TIMEZONE_ABBR }
FROM { valorFecha | valorIntervalo } )
Entrada
valorFecha | valorIntervalo: valor de fecha del que se extrae la porción
Salida
Porción de la fecha/intervalo que se extrae
EXTRACT
Redondear un valor numérico
Sintaxis
ROUND( numero, [ decimales ] )
Entrada
numero: valor numérico a redondear
decimales: número de decimales a los que se debe redondear
Salida
Número redondeado con el número de decimales
ROUND
Elevar un número a una potencia
Sintaxis
POWER(numero, potencia)
Entrada
numero: número que se eleva a una potencia
potencia: potencia a la que se eleva el número
Salida
Resultado de la potenciación
POWER
Retorna el residuo de la división de dos números
Sintaxis
MOD(numerador, denominador)
Entrada
numerador: numerador de la operación
denominador: denominador de la operación
Salida
Valor numérico del residuo de la división de numerador entre denominador
MOD
Funciones especiales de Oracle para referenciar fechas e intervalos
● SYSDATE● SYSTIMESTAMP
FECHAS
Retorna la fecha del sistema en el formato por defecto
Sintaxis
SYSDATE
Ejemplo
SELECT SYSDATE FROM DUAL
SYSDATE
Retorna el intervalo actual de fecha (fecha + hora-minutos-segundos + zonaHoraria) del sistema en el formato por defecto
Sintaxis
SYSTIMESTAMP
Ejemplo
SELECT SYSTIMESTAMP FROM DUAL
SYSTIMESTAMP
COALESCE permite verificar valores nulos entre expresiones y tomará la primera que sea diferente de NULL
Sintaxis
COALESCE (exp1, exp2, … , expn )
Entrada
exp1, exp2, … , expn: expresiones que se evalúa si retornan NULL
Salida
Primera expresión que no retorne null / NULL si todas las expresiones retornaban null
AVANZADAS