En forma grupal, investigar y describir el funcionamiento de las funciones indicadas a continuación, desarrollando un ejemplo explicativo de su uso, utilizando los datos descritos en el Script Dream Home Completo
Funciones de Manipulación de Caracteres
=======================================
Lower, Upper, Concat, Substr, Length, Instr, Lpad, Rpad, Trim, Replace
Funciones de Manipulacion de Numeros
====================================
Round, Trunc, Mod
Funciones de Manipulacion de Fechas
===================================
Months_beetwen, Add_months, Next_day, Last_day, Round, Trunc
Funciones de Conversión de tipo de datos
========================================
To_number, To_date, To_char
Funciones Generales
===================
NVL, NVL2, Nullif, coalesce
Funciones condicionales
=======================
Case, Decode
Funciones de grupo
==================
Group by, Having, Avg, Count, Max, Min, Sum, stdev, Variance
Cada grupo debe publicar en su blog y responder esta entrega en el grupo, indicando los integrantes de su grupo y la url de la solución a su tarea en el blog
Fecha Máxima de Publicación, Miércoles 28 de Agosto, antes de la Clase.
Funcion INSTR
Devuelve la posicion de la emesima aparicion de char2 en Char1 buscando a partir de la posicion n.
Si n es negativo, cuenta la posicion de arranque desde el final.
Por defecto n y m valen 1.
INSTR(char1, char2 [,n [,m]])
Si ejecutamos:
SELECT INSTR('PEPE PEREZ','PER') FROM DUAL;
Devuelve
6
Si ejecutamos:
SELECT INSTR('PEPE PEREZ','PE',1,2) FROM DUAL;
Devuelve
3
Funcion SUBSTR
Devuelve una subcadena de char de n caracteres a partir de la posicion m.
Si m es positivo, empieza a contar desde el principio.
Si m es negativo, empieza a contar desde el final.
Si no ponemos n, devuelve hasta el final de la cadena.
SUBSTR(char, m [, n])
Si ejecutamos:
SELECT SUBSTR('PEPE PEREZ',6) FROM DUAL;
Devuelve
PEREZ
Si ejecutamos:
SELECT SUBSTR('PEPE PEREZ',6,3) FROM DUAL;
Devuelve
PER
Las funciones de manejo de caracteres alfanuméricos aceptan argumentos de tipo caracter y retornan caracteres o valores numéricos.
Las siguientes son algunas de las funciones que ofrece Oracle para trabajar con cadenas de caracteres:
- chr(x): retorna un caracter equivalente al código enviado como argumento "x". Ejemplo:
select chr(65) from dual;-- retorna 'A'.
select chr(100) from dual;-- retorna 'd'.
- concat(cadena1,cadena2): concatena dos cadenas de caracteres; es equivalente al operador ||. Ejemplo:
select concat('Buenas',' tardes') from dual;--retorna 'Buenas tardes'.
- initcap(cadena): retorna la cadena enviada como argumento con la primera letra (letra capital) de cada palabra en mayúscula. Ejemplo:
select initcap('buenas tardes alumno') from dual;--retorna 'Buenas Tardes Alumno'.
- lower(cadena): retorna la cadena enviada como argumento en minúsculas. "lower" significa reducir en inglés. Ejemplo:
select lower('Buenas tardes ALUMNO') from dual;--retorna "buenas tardes alumno".
- upper(cadena): retorna la cadena con todos los caracteres en mayúsculas. Ejemplo:
select upper('www.oracle.com') from dual;-- 'WWW.ORACLE.COM'
- lpad(cadena,longitud,cadenarelleno): retorna la cantidad de caracteres especificados por el argumento "longitud", de la cadena enviada como primer argumento (comenzando desde el primer caracter); si "longitud" es mayor que el tamaño de la cadena enviada, rellena los espacios restantes con la cadena enviada como tercer argumento (en caso de omitir el tercer argumento rellena con espacios); el relleno comienza desde la izquierda. Ejemplos:
select lpad('alumno',10,'xyz') from dual;-- retorna 'xyzxalumno'
select lpad('alumno',4,'xyz') from dual;-- retorna 'alum'
- rpad(cadena,longitud,cadenarelleno): retorna la cantidad de caracteres especificados por el argumento "longitud", de la cadena enviada como primer argumento (comenzando desde el primer caracter); si "longitud" es mayor que el tamaño de la cadena enviada, rellena los espacios restantes con la cadena enviada como tercer argumento (en caso de omitir el tercer argumento rellena con espacios); el relleno comienza desde la derecha (último caracter). Ejemplos:
select rpad('alumno',10,'xyz') from dual;-- retorna 'alumnoxyzx'
select rpad('alumno',4,'xyz') from dual;-- retorna 'alum'
- ltrim(cadena1,cadena2): borra todas las ocurrencias de "cadena2" en "cadena1", si se encuentran al comienzo; si se omite el segundo argumento, se eliminan los espacios. Ejemplo:
select ltrim('la casa de la cuadra','la') from dual;-- ' casa de la cuadra'
select ltrim(' es la casa de la cuadra','la') from dual;-- no elimina ningún caracter
select ltrim(' la casa') from dual;-- 'la casa'
- rtrim(cadena1,cadena2): borra todas las ocurrencias de "cadena2" en "cadena1", si se encuentran por la derecha (al final de la cadena); si se omite el segundo argumento, se borran los espacios. Ejemplo:
select rtrim('la casa lila','la') from dual;-- 'la casa li'
select rtrim('la casa lila ','la') from dual;-- no borra ningún caracter
select rtrim('la casa lila ') from dual; --'la casa lila'
- trim(cadena): retorna la cadena con los espacios de la izquierda y derecha eliminados. "Trim" significa recortar. Ejemplo:
select trim(' oracle ') from dual;--'oracle'
- replace(cadena,subcade1,subcade2): retorna la cadena con todas las ocurrencias de la subcadena de reemplazo (subcade2) por la subcadena a reemplazar (subcae1). Ejemplo:
select replace('xxx.oracle.com','x','w') from dual;
retorna "www.oracle.com'.
- substr(cadena,inicio,longitud): devuelve una parte de la cadena especificada como primer argumento, empezando desde la posición especificada por el segundo argumento y de tantos caracteres de longitud como indica el tercer argumento. Ejemplo:
select substr('www.oracle.com',1,10) from dual;-- 'www.oracle'
select substr('www.oracle.com',5,6) from dual;-- 'oracle'
- length(cadena): retorna la longitud de la cadena enviada como argumento. "lenght" significa longitud en inglés. Ejemplo:
select length('www.oracle.com') from dual;-- devuelve 14.
- instr (cadena,subcadena): devuelve la posición de comienzo (de la primera ocurrencia) de la subcadena especificada en la cadena enviada como primer argumento. Si no la encuentra retorna 0. Ejemplos:
select instr('Jorge Luis Borges','or') from dual;-- 2
select instr('Jorge Luis Borges','ar') from dual;-- 0, no se encuentra
- translate(): reemplaza cada ocurrencia de una serie de caracteres con otra serie de acracteres. La diferencia con "replace" es que aquella trabaja con cadenas de caracteres y reemplaza una cadena completa por otra, en cambio "translate" trabaja con caracteres simples y reemplaza varios. En el siguiente ejemplo se especifica que se reemplacen todos los caracteres "O" por el caracter "0", todos los caracteres "S" por el caracter "5" y todos los caracteres "G" por "6":
select translate('JORGE LUIS BORGES','OSG','056') from dual;--'J0R6E LUI5 B0R6E5'
Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo caracter.
No hay comentarios:
Publicar un comentario