Funciones de agregado de candenas en Oracle

Volvemos a la programacion con un poco de Oracle. Las funciones de agregado que vamos a ver con las de cadena y estas operan sobre campos o constantes como su propio nombre indica de tipo cadena de caracteres.

Existen funciones de cadena:

  • Que calculan una cadena apartir de otra u otras.
  • Las que devuelven longitud
  • Y las que buscan una cadena en otra

Funciones que calculan una cadena apartir de otra u otras.

CHR (n) – Nos da el carácter de código acsii de n.

SELECT
CHR(87) 
FROM
DUAL;

CONCAT (cad1, cad2) – Concatena dos cadenas. Si queremos concatenar más deberemos anidar varias concat.

SELECT
CONCAT('hola', 'adios') 
FROM
DUAL;

INITCAP (cad) – Devuelve la cadena en formato título, primera letra de cada palabra en mayuscula.

SELECT
INITCAP('hola') 
FROM
DUAL;

LOWER (cad) – Toda la cadena casden minucula

SELECT
LOWER('HOLA') 
FROM
DUAL;

UPPER (cad) – Toda la cadena cad en mayuscula

SELECT
UPPER('hola') 
FROM
DUAL;

LPAD (cad1, n , cad2) – Rellena cad 1 con copias de cad 2 hasta llegar a longitud n. desde la izquierda. cad 2 opcional, sino con espacios en blanco.

SELECT
LPAD('e',6,'a') 
FROM
DUAL;

RPAD (cad1, n , cad2) – Rellena cad 1 con copias de cad 2 hasta llegar a longitud n. desde la derecha. cad 2 opcional, sino con espacios en blanco.

SELECT
RPAD('e',6,'a') 
FROM
DUAL;

LTRIM (cad, set) RTRIM (cad, set) TRIM (cad, set) – Quita de la izq, drch o las dos respectivamente todos los caracteres que hay en set. Set opcional se cambia por espacios en blanco.

SELECT
LTRIM('hola','ho') 
FROM
DUAL;

SELECT
RTRIM('hola','la')
FROM
DUAL;

SELECT
TRIM('   hola')
FROM
DUAL;

Funciones que devuelven longitud

LENGTH (cadena) – calcula la longitud de la cadena

SELECT
LENGTH('adios') 
FROM
DUAL;

VSIZE () -Similar a LENGTH.

Funciones que buscan una cadena en otra

INSTR (cad, subcad, pos, ocurr) – busca la subcad en la cad desde la pos y nos dice la posición de la ocurr.

SELECT 
INSTR('JOSE FCO','SE') 
FROM
DUAL;

O

SELECT
INSTR('JOSE FCO','O',1,2)
FROM
DUAL;

Otras funciones

TRANSLATE (cad, from,to) – Remplaza caracteres de cad el from por el to

SELECT
TRANSLATE ('jose fco','jf','wx') 
FROM
DUAL;

REPLACE (cad, buscar, cambiar) – Devuelve la cad con el buscar cambiado por el cambiar

SELECT
REPLACE ('jose fco','jo','wx') 
FROM
DUAL;

SUBSTR (cad, m, n) – Devuelve una subcad de n a partir de m. si m positivo desde inicio, si m negativo desde final. Si n hasta el final

SELECT
SUBSTR('jose',2,3) 
FROM
DUAL;

CONVERT (cadena, nuevo char set, antiguo char set) – devuelve cadena con el nuevo mapa de caracteres.

SELECT
CONVERT('señal', 'US7ASCII', 'WE8ISO8859P1') 
FROM 
DUAL;