Funciones de manipulación de cadenas: Oracle

Las funciones de caracteres y cadenas, en la mayoría de los casos se tienen que tener muy en mente ya que son de uso continuo en el trabajo, en este articulo, listo algunas de las funciones de Oracle, exclusivas para el manejo de cadenas y hago una breve reseña de cada una de ellas, entre paréntesis te indico con qué frecuencia las utilizo en el trabajo diario(Baja, Media y Alta):

Character / String Functions:

Ascii Convert Lower Soundex
AsciiStr Decompose Lpad Substr
Chr Dump Ltrim Translate
Compose Initcap Replace Trim
Concat Instr Rpad Upper
Concat with || Length Rtrim VSize

FUNCION ASCII

En Oracle y PL/SQL, la función ASCII devuelve el código numérico que representa el carácter pasado por parámetro. La sintaxis es la siguiente:

ASCII(CARÁCTER_SIMPLE)

CARÁCTER_SIMPLE es el carácter especificado para el cual se devolvera el codigo ascii. Si mas de un carácter es ingresado como parametro a la funcion esta solo devolvera el valor ascii para el primer carácter de la cadena e ignorara todos los demas caracteres despues del primero. Te adjunto la tabla ascii en un archivo de WORD.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT ASCII(‘t’) FROM DUAL; –Devuelve 116
  • SELECT ASCII(‘T’) FROM DUAL; –Devuelve 84
  • SELECT ASCII(‘T2′) FROM DUAL;–Devuelve 84

Regresar al indice de funciones

FUNCION ASCIISTR

En Oracle y PL/SQL, la función ASCIISTR convierte una cadena en algún conjunto de caracteres a una cadena ASCII usando el conjunto de caracteres de la base de datos, las bases de datos utilizan algún conjunto de caracteres para poder guardar los datos dentro de las tablas. Algunos de los conjuntos de caracteres más comunes son el US7ASCII(UTF8) y el WE8ISO8859P1(ISO8859-1). La sintaxis es la siguiente:

ASCIISTR(CADENA)

CADENA es cualquier cadena o conjunto de caracteres que tu quieres convertir de una cadena ASCII a el conjunto de caracteres de la base de datos

APLICA PARA:

  • Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT ASCIISTR(‘A B C Ä Ê’) FROM DUAL; –Devuelve ‘A B C 0C4 0CA’
  • SELECT ASCIISTR(‘A B C Õ Ø’) FROM DUAL; –Devuelve ‘A B C 0D5 0D8′
  • SELECT ASCIISTR(‘A B C Ä Ê Í Õ Ø’) FROM DUAL –Devuelve ‘A B C 0C4 0CA 0CD 0D5 0D8′

Regresar al indice de funciones

FUNCION CHR

En Oracle y PL/SQL, la función CHR es lo opuesto de la función ASCII. Esta función devuelve un carácter basada en el código numérico pasado por parámetro. La sintaxis es la siguiente:

CHR(CODIGO_NUMERICO)

CODIGO_NUMERICO es el codigo numerico del carácter que se desea obtener. Te adjunto la tabla ascii en un archivo de WORD.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT CHR(116) FROM DUAL;–Devuelve t
  • SELECT CHR(84) FROM DUAL; –Devuelve T

Regresar al indice de funciones

FUNCION COMPOSE

En Oracle y PL/SQL, la función COMPOSE devuelve una cadena Unicode para la cadena pasada por parámetro. La sintaxis es la siguiente:

COMPOSE(CADENA)

CADENA es el valor usado para crear la cadena unicode. Esta cadena puede ser de tipo char, varchar2, nchar, nvarchar2, clob o nclob. A continuación esta una lista de valores unistring que pueden ser combinados con otros caracteres en la función COMPOSE.

Valor Unistring Carácter resultante
unistr(‘300′) grave accent ( ` )
unistr(‘301′) acute accent ( ´ )
unistr(‘302′) circumflex ( ^ )
unistr(‘303′) tilde ( ~ )
unistr(‘308′) umlaut ( ¨ )

APLICA PARA:

  • Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT COMPOSE(‘o’ || UNISTR(‘308′)) FROM DUAL; –Devuelve ö
  • SELECT COMPOSE(‘a’ || UNISTR(‘302′)) FROM DUAL; –Devuelve â
  • SELECT COMPOSE(‘e’ || UNISTR(‘301′)) FROM DUAL; –Devuelve é

Regresar al indice de funciones

FUNCION CONCAT

En Oracle y PL/SQL, la función CONCAT pemite concatenar dos cadenas y juntarlas en una sola. La sintaxis es la siguiente:

CONCAT(CADENA1, CADENA2)

CADENA1 es la primera cadena a concatenar.

CADENA2 es la segunda cadena a concatenar.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT CONCAT(‘Este es’, ‘un ejemplo’) FROM DUAL; –Devuelve “Este es un ejemplo”
  • SELECT CONCAT(‘A’, ‘b’) FROM DUAL; –Devuelve “Ab”

Regresar al indice de funciones

CONCATENAR CON EL OPERADOR ||

En Oracle y PL/SQL, el operador || pemite concatenar dos o más cadenas y juntarlas en una sola. La sintaxis para el operador || es la siguiente:

CADENA1 || CADENA2 || CADENA_N

CADENA1 es la primera cadena a concatenar.

CADENA_N es la enesima cadena a concatenar.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT ‘Este es’ || ‘un ejemplo’ FROM DUAL; –Devuelve “Este es un ejemplo”
  • SELECT ‘A’ || ‘b’ || ‘c’ FROM DUAL; –Devuelve “Abc”

Regresar al indice de funciones

FUNCION CONVERT

En Oracle y PL/SQL, la función CONVERT convierte una cadena de un conjunto de caracteres a otro. La sintaxis es la siguiente:

CONVERT(CADENA1, CONJUNTO_DE_CARACTERES_RESULTANTE, CONJUNTO_DE_CARACTERES_ORIGINAL)

CADENA1 es cadena a ser convertida.

CONJUNTO_DE_CARACTERES_RESULTANTE es conjunto de caracteres al cual se convertira CADENA1.

CONJUNTO_DE_CARACTERES_ORIGINAL es conjunto de caracteres actual de CADENA1.

Entre el conjunto de caracteres aplicables para esta funcion estan los siguientes:

Conjunto de caracteres Descripción
US7ASCII US 7-bit ASCII character set
WE8DEC West European 8-bit character set
WE8HP HP West European Laserjet 8-bit character set
F7DEC DEC French 7-bit character set
WE8EBCDIC500 IBM West European EBCDIC Code Page 500
WE8PC850 IBM PC Code Page 850
WE8ISO8859P1 ISO 8859-1 West European 8-bit character set

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT CONVERT(‘A B C D E Ä Ê Í Õ Ø’, ‘US7ASCII’, ‘WE8ISO8859P1′) FROM DUAL; –Devuelve ‘A B C D E A E I ? ?’

Regresar al indice de funciones

FUNCION DECOMPOSE

En Oracle y PL/SQL, la función DECOMPOSE acepta una cadena y devuelve como resultado una cadena Unicode. La sintaxis es la siguiente:

DECOMPOSE(CADENA)

CADENA es la cadena que sera convertida a cadena unicode.

APLICA PARA:

  • Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT DECOMPOSE(‘Très bien’) FROM DUAL; –Devuelve “Très bien”
  • SELECT DECOMPOSE(‘é’) FROM DUAL; –Devuelve “é”
  • SELECT DECOMPOSE(‘olé’) FROM DUAL; –Devuelve “olé”

Regresar al indice de funciones

FUNCION DUMP

En Oracle y PL/SQL, la función DUMP devuelve un valor varchar2 que incluye los códigos de tipo de dato, la longitud en bytes y la representación interna de la expresion. La sintaxis es la siguiente:

DUMP(EXPRESION, [FORMATO_A_DEVOLVER], [POSICION_INICIAL], [LONGITUD])

EXPRESION es la o expresion a analizar.

FORMATO_A_DEVOLVER es opcional. Determina el formato del valor a devolver. Este parametro puede estar seguido de los siguientes valores.

Valor Explicación
8 Notación octal
10 Notación decimal
16 Notación hexadecimal
17 Solo caracteres
1008 Notación octal junto con el conjunto de caracteres
1010 Notación decimal junto con el conjunto de caracteres
1016 Notación hexadecimal junto con el conjunto de caracteres
1017 Solo caracteres junto con el conjunto de caracteres

POSICION_INICIAL Y LONGITUD son parametros opcionales. Ellos determinan cual porcion de la representacion interna se mostrara en el resultado. Si estos parametros son omitidos, la funcion DUMP mostrara la representacion interna devuelta en notacion decimal.

EXPRESION es la o expresion a analizar.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT DUMP(‘Tech’) FROM DUAL;          –Devuelve ‘Typ=96 Len=4: 84,101,99,104′
  • SELECT DUMP(‘Tech’,10) FROM DUAL;       –Devuelve ‘Typ=96 Len=4: 84,101,99,104′
  • SELECT DUMP(‘Tech’,16) FROM DUAL;       –Devuelve ‘Typ=96 Len=4: 54,65,63,68′
  • SELECT DUMP(‘Tech’,1016) FROM DUAL;     –Devuelve ‘Typ=96 Len=4 CharacterSet=WE8ISO8859P1: 54,65,63,68′ <- Puede variar dependiendo del conjunto de caracteres de la base de datos
  • SELECT DUMP(‘Tech’,1017) FROM DUAL;     –Devuelve ‘Typ=96 Len=4 CharacterSet=WE8ISO8859P1: T,e,c,h <- Puede variar dependiendo del conjunto de caracteres de la base de datos

Regresar al indice de funciones

FUNCION INITCAP

En Oracle y PL/SQL, la función INITCAP formatea una cadena para que el primer carácter de cada palabra contenida en la cadena pasada por parámetro sea mayúscula y el resto sean minusculas. La sintaxis es la siguiente:

INITCAP(CADENA)

CADENA es la cadena enviada como parametro. El primer carácter de cada una de las palabras contenidas en la cadena sera convertido a mayuscula y el resto de las caracteres de cada una de las palabras sera convertido a minuscula.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT INITCAP(‘JESUS ENRIQUE MUÑOZ FERNANDEZ’) FROM DUAL; –Devuelve “Jesus Enrique Muñoz Fernandez”
  • SELECT INITCAP (‘julia muñoz fernandez’) FROM DUAL; –Devuelve “Julia Muñoz Fernandez”

Regresar al indice de funciones

FUNCION INSTR

En Oracle y PL/SQL, la función INSTR devuelve la posición inicial de una subcadena o carácter contenido dentro de una cadena. La sintaxis es la siguiente:

INSTR(CADENA, SUBCADENA, POSICION_INICIAL, NUMERO_APARICION)

CADENA es la cadena donde se buscara la subcadena.

SUBCADENA es la subcadena a buscar en CADENA.

POSICION_INICIAL es la posicion inicial en CADENA, a partir de la cual se comenzara a buscar la SUBCADENA. Si este parametro es omitido la busqueda comenzara a partir de la posicion 1 de la cadena y hasta el final de la misma. La primera posicion de una cadena es 1. Si la POSICION_INICIAL es un valor negativo la funcion contara hacia atrás a partir del ultimo carácter de la cadena las n posiciones negativas indicadas en POSICION_INICIAL y a partit de ahí iniciara la busqueda del la subcadena.

NUMERO_APARICION es la enesima aparicion de SUBCADENA. Este parametro es opcional y si es omitido por defecto devuelve la posicion de la primera ocurrencia de la SUBCADENA, encontrada en CADENA.

NOTA:

Si SUBCADENA no es encontrada en CADENA la es la funcion devolvera 0 (Cero).

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT INSTR(‘Tech on the net’, ‘e’) FROM DUAL;             –Devolvera 2; La primera ocurrencia de ‘e’
  • SELECT INSTR(‘Tech on the net’, ‘e’, 1, 1) FROM DUAL;       –Devolvera 2; La primera ocurrencia de ‘e’
  • SELECT INSTR(‘Tech on the net’, ‘e’, 1, 2) FROM DUAL;       –Devolvera 11; La segunda ocurrencia de ‘e’
  • SELECT INSTR(‘Tech on the net’, ‘e’, 1, 3) FROM DUAL;       –Devolvera 14; La tercera ocurrencia de ‘e’
  • SELECT INSTR(‘Tech on the net’, ‘e’, -3, 2) FROM DUAL;      –Devolvera 2.

Regresar al indice de funciones

FUNCION LENGTH

En Oracle y PL/SQL, la función LENGTH devuelve la longitud de la cadena enviada por parámetro. La sintaxis es la siguiente:

LENGTH(CADENA)

CADENA es la cadena para la cual se desea determinar la longitud. Si CADENA es un valor nulo la funcion devolvera por resultado NULL.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT LENGTH(NULL) FROM DUAL;                 –Devolvera NULL
  • SELECT LENGTH(”) FROM DUAL;                   –Devolvera NULL
  • SELECT LENGTH(‘Tech on the net’) FROM DUAL;    –Devolvera 15
  • SELECT LENGTH(‘Tech on the net ‘) FROM DUAL;   –Devolvera 16

Regresar al indice de funciones

FUNCION LOWER

En Oracle y PL/SQL, la función LOWER convierte todas las letras a minúsculas de la cadena pasada por parámetro. Si en la cadena existen caracteres que no son letras, ellos no se ven afectados por esta función. La sintaxis es la siguiente:

LOWER(CADENA)

CADENA es la cadena a convertir en minusculas.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT LOWER(‘JESUS ENRIQUE MUÑOZ FERNANDEZ’) FROM DUAL; –Devuelve “jesus enrique muñoz fernandez”
  • SELECT LOWER(‘Julia Muñoz Fernandez’) FROM DUAL; –Devuelve “julia muñoz fernandez”

Regresar al indice de funciones

FUNCION LPAD

En Oracle y PL/SQL, la función LPAD completa una cadena agregando una cadena o carácter especifico a la izquierda hasta completar la longitud deseada(Solo cuando la cadena pasada por parámetro no es un valor nulo). La sintaxis es la siguiente:

LPAD(CADENA, LONGITUD_REQUERIDA, CADENA_DE_RELLENO)

CADENA es la cadena a cual sera formateada con n caracteres a la izquierda.

LONGITUD_REQUERIDA es la longitud de la cadena a devolver. Si  la LONGITUD_REQUERIDA es mas pequeña que la cadena original, la funcion LPAD truncara el tamaño de la cadena a el tamaño de la LONGITUD_REQUERIDA .

CADENA_DE_RELLENO es opcional. Esta es la cadena o carácter con la cual sera rellenada la CADENA. Si este parametro es omitido la funcion LPAD completara la cadena resultante con espacion en blanco al lado izquierdo.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT LPAD(‘00001′,7) FROM DUAL;       –Devuelve “0000001”
  • SELECT LPAD(‘00001′,2) FROM DUAL;       –Devuelve “00”
  • SELECT LPAD(‘00001′,8, ‘0’) FROM DUAL; –Devuelve “00000001”
  • SELECT LPAD(‘00001′,8, ‘z’) FROM DUAL; –Devuelve “zzz00001”
  • SELECT LPAD(‘00001′,5, ‘0’) FROM DUAL; –Devuelve “00001”

Regresar al indice de funciones

FUNCION LTRIM

En Oracle y PL/SQL, la función LTRIM remueve todos los caracteres especificados al lado izquierdo de la cadena. La sintaxis es la siguiente:

LTRIM(CADENA, CADENA_A_REMOVER)

CADENA es la cadena a cual le removeran los caracteres especificados en CADENA_A_REMOVER al lado izquierdo.

CADENA_A_REMOVER es la cadena que sera removida al lado izquierdo de CADENA. Si este parametro es omitido, la funcion LTRIM removera todos los espacios en blanco al lado izquierdo de CADENA.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT LTRIM(‘   Examen’) FROM DUAL;                 –Devuelve “Examen”
  • SELECT LTRIM(‘   Examen’, ‘ ‘) FROM DUAL;             –Devuelve “Examen”
  • SELECT LTRIM(‘0000Testing’,’0′) FROM DUAL;            –Devuelve “Testing”
  • SELECT LTRIM(‘123123Total’, ‘Total’) FROM DUAL;       –Devuelve “Total”
  • SELECT LTRIM(‘123123Total123′, ‘123’) FROM DUAL;      –Devuelve “Total123”
  • SELECT LTRIM(‘xyxzyyyTotal’, ‘xyz’) FROM DUAL;        –Devuelve “Total”
  • SELECT LTRIM(‘6372Total’, ‘1234567890’) FROM DUAL;    –Devuelve “Total”

Pareciera que la función LTRIM remueve patrones, pero este no es el caso como queda demostrado en el siguiente  ejemplo:

SELECT LTRIM(‘xyxzyyyTotal’, ‘xyz’) FROM DUAL;

Este ejemplo de hecho remueve las ocurrencias individuales de ‘x’, ‘y’ y ‘z’  lo que es opuesto de el patrón ‘xyz’, la función LTRIM puede también ser usada para remover todos los números principales como queda demostrado en el siguiente ejemplo:

SELECT LTRIM(‘6372Total’, ‘1234567890’) FROM DUAL;

En este ejemplo cada combinación de números de 0 al 9 ha sido listada en el parámetro CADENA_A_REMOVER. Haciendo esto no importa el orden en que aparezcan los números en CADENA todos los números serán removidos por la función LTRIM.
Regresar al indice de funciones

FUNCION REPLACE

En Oracle y PL/SQL, la función REPLACE reemplaza una secuencia de caracteres en una cadena con algún otro carácter  o cadena. La sintaxis es la siguiente:

REPLACE(CADENA, CADENA_A_REEMPLAZAR, [CADENA_DE_REEMPLAZO])

CADENA es la cadena de la cual se reemplazaran una secuencia de caracteres con otro secuencia de caractreres.

CADENA_A_REEMPLAZAR es la cadena la cual sera buscada en CADENA.

CADENA_DE_REEMPLAZO es opcional. Todas las ocurrencias de CADENA_A_REEMPLAZAR seran reemplazadas con CADENA_DE_REEMPLAZO. Si el parametro CADENA_DE_REEMPLAZO es omitido la funcion REPLACE simplemente removera todas las ocurrencias de CADENA_A_REEMPLAZAR encontradas en CADENA y devolvera la cadena resultante.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT REPLACE(‘123123Ejemplo’, ‘123’) FROM DUAL;     –Devuelve “Ejemplo”
  • SELECT REPLACE(‘123Ejemplo123′, ‘123’) FROM DUAL;     –Devuelve “Ejemplo”
  • SELECT REPLACE(‘222Ejemplo’, ‘2’, ‘3’) FROM DUAL;     –Devuelve “333Ejemplo”
  • SELECT REPLACE(‘0000123′, ‘0’) FROM DUAL;             –Devuelve “123”
  • SELECT REPLACE(‘0000123′, ‘0’, ‘ ‘) FROM DUAL;        –Devuelve “    123”

Regresar al indice de funciones

FUNCION RPAD

En Oracle y PL/SQL, la función RPAD completa una cadena agregando una cadena o carácter especifico a la derecha hasta completar la longitud deseada (Solo cuando la cadena pasada por parámetro no es un valor nulo). La sintaxis es la siguiente:

RPAD(CADENA, LONGITUD_REQUERIDA, [CADENA_DE_RELLENO])

CADENA es la cadena a cual sera formateada con n caracteres a la derecha.

LONGITUD_REQUERIDA es la longitud de la cadena a devolver. Si  la LONGITUD_REQUERIDA es mas pequeña que la cadena original, la funcion RPAD truncara el tamaño de la cadena a el tamaño de la LONGITUD_REQUERIDA .

CADENA_DE_RELLENO es opcional. Esta es la cadena o carácter con la cual sera rellenada la CADENA. Si este parametro es omitido la funcion RPAD completara la cadena resultante con espacion en blanco al lado derecho.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT RPAD(‘00001′,7) FROM DUAL;       –Devuelve “0000100”
  • SELECT RPAD(‘00001′,2) FROM DUAL;       –Devuelve “00”
  • SELECT RPAD(‘00001′,8, ‘0’) FROM DUAL; –Devuelve “00001000”
  • SELECT RPAD(‘00001′,8, ‘z’) FROM DUAL; –Devuelve “00001zzz”
  • SELECT RPAD(‘00001′,5, ‘0’) FROM DUAL; –Devuelve “00010”

Regresar al indice de funciones

FUNCION RTRIM

En Oracle y PL/SQL, la función RTRIM remueve todos los caracteres especificados al lado derecho de la cadena. La sintaxis es la siguiente:

RTRIM(CADENA, CADENA_A_REMOVER)

CADENA es la cadena a cual le removeran los caracteres especificados en CADENA_A_REMOVER al lado derecho.

CADENA_A_REMOVER es la cadena que sera removida al lado derecho de CADENA. Si este parametro es omitido, la funcion RTRIM removera todos los espacios en blanco al lado derecho de CADENA.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT RTRIM(‘Examen   ‘) FROM DUAL;                  –Devuelve “Examen”
  • SELECT RTRIM(‘Examen   ‘, ‘ ‘) FROM DUAL;             –Devuelve “Examen”
  • SELECT RTRIM(‘Testing0000′,’0′) FROM DUAL;            –Devuelve “Testing”
  • SELECT RTRIM(‘Total123123′, ‘Total’) FROM DUAL;       –Devuelve “Total”
  • SELECT RTRIM(‘123Total123123′, ‘123’) FROM DUAL;      –Devuelve “123Total”
  • SELECT RTRIM(‘Totalxyxzyyy’, ‘xyz’) FROM DUAL;        –Devuelve “Total”
  • SELECT RTRIM(‘Total6372′, ‘1234567890’) FROM DUAL;    –Devuelve “Total”

Pareciera que la función RTRIM remueve patrones, pero este no es el caso como queda demostrado en el siguiente  ejemplo:

SELECT RTRIM(‘Totalxyxzyyy’, ‘xyz’) FROM DUAL;

Este ejemplo de hecho remueve las ocurrencias individuales de ‘x’, ‘y’ y ‘z’  lo que es opuesto del patrón ‘xyz’, la función RTRIM puede también ser usada para remover todos los números principales como queda demostrado en el siguiente ejemplo:

SELECT RTRIM(‘Total6372′, ‘1234567890’) FROM DUAL;

En este ejemplo cada combinación de números de 0 al 9 ha sido listada en el parámetro CADENA_A_REMOVER. Haciendo esto no importa el orden en que aparezcan los números en CADENA todos los números serán removidos por la función RTRIM.
Regresar al indice de funciones

FUNCION SOUNDEX

En Oracle y PL/SQL, la función SOUNDEX devolverá una representación fonética (La manera en que se escucha) de una cadena. La sintaxis es la siguiente:

SOUNDEX(CADENA)

CADENA es la cadena cuyo valor fonetico sera devuelto.

El algoritmo SOUNDEX trabaja de la siguiente manera:

  1. La funcion SOUNDEX devolvera un valor que siempre iniciara con la primera letra de CADENA.
  2. La funcion SOUNDEX usara solamente las primeras 5 consonantes para determinar la porcion NUMERICA de el valor a devolver, excepto si la primera letra de CADENA es una vocal.
  3. La funcion SOUNDEX es una funcion no sensitiva. Esto significa que para los casos de caracteres en mayusculas y/o minusculas devolvera el mismo valor, ejemplo: casa y CASA.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT SOUNDEX(‘TECH ON THE NET’) FROM DUAL;   –Devuelve “T253”
  • SELECT SOUNDEX(‘tech on the net’) FROM DUAL;   –Devuelve “T253”
  • SELECT SOUNDEX(‘apples’) FROM DUAL;            –Devuelve “A142”
  • SELECT SOUNDEX(‘apples are great’) FROM DUAL; –Devuelve “A142”
  • SELECT SOUNDEX(‘applus’) FROM DUAL;            –Devuelve “A14”

Regresar al indice de funciones

FUNCION SUBSTR

En Oracle y PL/SQL, la función SUBSTR permite extraer una parte de una cadena o subcadena de una cadena. La sintaxis es la siguiente:

SUBSTR(CADENA, POSICION_INICIAL, [LONGITUD])

CADENA es la cadena fuente pasada por parametro a la funcion.

POSICION_INICIAL es la posicion inicial en la CADENA a partir de la cual iniciara la extraccion de la subcadena. La posicion inicial de CADENA es 1.

LONGITUD es opcional. Indica el numero de caracteres a extraer. Si este parametro es omitido, la funcion SUBSTR retornara la cantidad de caracteres restantes de CADENA a partir de la POSICION_INICIAL.

NOTAS:

Si POSICION_INICIAL es 0, la funcion SUBSTR fijara a 1 la POSICION_INICIAL.

Si POSICION_INICIAL es un numero positivo, la funcion SUBSTR empezara a contrar desde el inicio de la cadena y hacia adelante, el numero posicion indicadas en POSICION_INICIAL

Si POSICION_INICIAL es un numero negativo, la funcion SUBSTR empezara a contar desde el final de la cadena y hacia atrás, el numero de posiciones indicadas en POSICION_INICIAL

Si LONGITUD es un valor negativo, la funcion SUBSTR devulvera NULL.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT SUBSTR(‘This is a test’,6,2) FROM DUAL; –Devuelve “is”
  • SELECT SUBSTR(‘This is a test’,6) FROM DUAL;   –Devuelve “is a test”
  • SELECT SUBSTR(‘TechOnTheNet’,1,4) FROM DUAL;   –Devuelve “Tech”
  • SELECT SUBSTR(‘TechOnTheNet’,-3,3) FROM DUAL; –Devuelve “Net”
  • SELECT SUBSTR(‘TechOnTheNet’,-6,3) FROM DUAL; –Devuelve “The”
  • SELECT SUBSTR(‘TechOnTheNet’,-8,2) FROM DUAL; –Devuelve “On”

Regresar al indice de funciones

FUNCION TRANSLATE

En Oracle y PL/SQL, la función TRANSLATE reemplaza una secuencia de caracteres en una cadena con otra sencuencia de carateres. Sin embargo, esta reemplaza un carácter a la vez. Por ejemplo, reemplaza el primer carácter de CADENA_A_REEMPLAZAR con el primer carácter de CADENA_DE_REEMPLAZO, luego la función reemplazara el segundo carácter de CADENA_A_REEMPLAZAR con el segundo carácter de CADENA_DE_REEMPLAZO y así sucesivamente. La sintaxis es la siguiente:

TRANSLATE(CADENA, CADENA_A_REEMPLAZAR, CADENA_DE_REEMPLAZO)

CADENA es la cadena de la cual se reemplazara un conjunto de caracteres definidos por CADENA_A_REEMPLAZAR por otro conjunto de caracteres definidos por CADENA_DE_REEMPLAZO.

CADENA_A_REEMPLAZAR es la cadena la cual sera buscada en CADENA para reemplazar.

CADENA_DE_REEMPLAZO todos los caracteres contenidos en CADENA_A_REEMPLAZAR seran reemplazados por el carácter correspondiente contenido en CADENA_DE_REEMPLAZO.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT TRANSLATE(‘1JESUS23′, ‘123’, ‘456’) FROM DUAL;       –Devuelve “4JESUS56”
  • SELECT TRANSLATE (‘222Julia’, ‘2Ja’, ‘8Go’) FROM DUAL;      –Devuelve “888Gulio”

Regresar al indice de funciones

FUNCION TRIM

En Oracle y PL/SQL, la función TRIM remueve todos los caracteres especificados al inicio y al final de la cadena. La sintaxis es la siguiente:

TRIM([LEADING | TRAILING | BOTH [CADENA_A_REMOVER]] CADENA)

LEADING remueve los caracteres especificados al inicio de la cadena.

TRAILING remueve los caracteres especificados al final de la cadena.

BOTH remueve los caracteres especificados al ambos lados de la cadena, al inicio y al final.

Si ninguno de estos valores es especificado en la funcion, esta removera por defecto los carateres especificados, a ambos lados de la cadena.

CADENA_A_REMOVER es el caracter que sera removido de CADENA. Si este parametro es omitido, la funcion TRIM removera todos los espacios en blanco al inicio y final de CADENA.

CADENA es la cadena de la cual se removeran os caracteres especificados.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT TRIM(‘   Examen   ‘) FROM DUAL;                       –Devuelve “Examen”
  • SELECT TRIM(‘ ‘ FROM ‘   Examen   ‘) FROM DUAL;              –Devuelve “Examen”
  • SELECT TRIM(LEADING ‘0’ FROM ‘000Testing’) FROM DUAL;       –Devuelve “Testing”
  • SELECT TRIM(TRAILING ‘1’ FROM ‘Testing111′) FROM DUAL;      –Devuelve “Testing”
  • SELECT TRIM(BOTH ‘1’ FROM ‘123Testing111′) FROM DUAL;       –Devuelve “23Testing”

Regresar al indice de funciones

FUNCION UPPER

En Oracle y PL/SQL, la función UPPER convierte todas las letras a mayúsculas de la cadena pasada por parámetro. Si en la cadena existen caracteres que no son letras, ellos no se ven afectados por esta función. La sintaxis es la siguiente:

UPPER(CADENA)

CADENA es la cadena a convertir en mayusculas.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT UPPER(‘jesus enrique muñoz fernandez’) FROM DUAL;    –Devuelve “JESUS ENRIQUE MUÑOZ FERNANDEZ”
  • SELECT UPPER(‘Julia Muñoz Fernandez’) FROM DUAL;            –Devuelve “JULIA MUÑOZ FERNANDEZ”

Regresar al indice de funciones

FUNCION VSIZE

En Oracle y PL/SQL, la función VSIZE devuelve el numero de bytes contenidos en la representación interna de una expresión. La sintaxis es la siguiente:

VSIZE(EXPRESION)

EXPRESION es la cadena a evaluar.

APLICA PARA:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

EJEMPLOS:

  • SELECT VSIZE(‘jesus enrique muñoz fernandez’) FROM DUAL;    –Devuelve 29
  • SELECT VSIZE (‘Julia Muñoz Fernandez’) FROM DUAL;           –Devuelve 21
  • SELECT VSIZE (NULL) FROM DUAL;                              –Devuelve <NULL>
  • SELECT VSIZE (”) FROM DUAL;                                –Devuelve <NULL>
  • SELECT VSIZE (‘ ‘) FROM DUAL;                               –Devuelve “ “ (Espacio vacio)

Regresar al indice de funciones

Adaptacion de texto y ejemplos, la informacion en general es tomada de http://www.techonthenet.com/

Una respuesta a “Funciones de manipulación de cadenas: Oracle

Deja un comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s