VARCHAR2 es un tipo de dato bastante polivalente, este a su vez presenta una serie de funciones, las cuales nos permiten generar consulta más eficientes y nos simplican el desarrollo del código.

Nota: Oracle recomienda utilizar VARCHAR2 en lugar de VARCHAR, esto se debe a que VARCHAR2 presenta una serie de mejorar para manejar las cadenas de texto, las cuales VARCHAR no posee.

Cuando realizamos consultas tenemos una serie de funciones disponibles para mejorar la forma en que vemos los datos, es por ello que, les brindo la mayoría de funciones que reciben parámetros de tipo VARCHAR2.

Concat(param1,param2): Retorna la unión entre 2 textos:

select concat('Hola',' mundo') from dual; --Salida: 'Hola Mundo'

Trim(param1): Retorna el texto eliminando los espacios de inicio y final:

select trim('   oracle   ') from dual; --Salida: 'oracle'

Substring(param1,param2,param3): Retorna un conjunto de caracteres según la posición que se específique, el primer parámetro que se envía es el texto que se desea leer, la segunda posición es donde se desea empezar a leer y el tercer parámetro es la longitud que leerá, o bien, donde termina la lectura del texto.

select substr('www.oracle-max.com',1,10) from dual; --Salida: 'www.oracle'
select substr('www.oracle-max.com',5,14) from dual; --Salida: 'oracle'

Length(param1): Retorna la longitud de un texto.

select length('Hola Mundo!') from dual; --Salida: devuelve 11

Upper(param1): Retorna el texto enviado completamente en mayúsculas.

select upper('Hola Mundo') from dual; --Salida: 'HOLA MUNDO'

Lower(param1): Retorna el texto enviado completamente en minúsculas.

select lower('Hola Mundo') from dual; --Salida: 'hola mundo'

Initcap(param1): Retorna cada palabra del texto enviado con la primera letra en mayúscula:

select initcap('bienvenido a oracle max') from dual;--Salida: 'Bienvenido A Oracle Max'.

Rpad(param1,param2,param3): Retorna una cadena de texto con la logitud específicada en el segundo argumento, si la longitud es mayor al tamaño de la palabra se rellenará el resto con el texto del tercer argumento, sin embargo, si es menor, no se usará.

select rpad('oracle',15,'max') from dual; --Salida: 'oraclemaxm'
select rpad('oracle',4,'max') from dual; --Salida: 'orac'

Replace(param1,param2,param3): Retorna un texto donde sustituye la palabra enviada en param2 por la palabra de param3, todo en el texto enviado en param1:

select replace('Bienvenid@ a oracle max','max','world') from dual; --Salida: 'Bienvenid@ a oracle world'

Instr(param1,param2): Retorna la posición la primera aparición de param2 en param1:

select instr('Anto es la mejor','to') from dual; --Salida: 3

Vsize(param1): Esta función devuelve el número de bytes del texto enviado, es parecido a lenght con la diferencia que podemos enviar cualquier tipo de expresión, no solo texto y siempre nos retornará la cantidad de bytes que posee.

select VSIZE('La vida es bella sin b') from dual; --Salida: 22 bytes

Aparte del uso de VARCHAR2, existen otros tipos de datos tales como NVARCHAR, CLOB, LONG y BLOB, todos ellos nos permiten almacenar caracteres pero de una forma distinta y con un fin distinto.

Para conocer más acerca de los tipos de datos para caracteres, puedes visitar el siguiente enlace: Tipos de datos PL/SQL

Una respuesta a «Funciones varchar2 en PL/SQL»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *