21 - Funciones para el manejo de cadenas


PostgreSQL tiene algunas funciones para trabajar con cadenas de caracteres. Estas son algunas:

char_length(string): Retorna la longitud del texto. Ejemplo:

select char_length('Hola');

retorna un 4.


upper(string): Retorna el texto convertido a mayúsculas. Ejemplo:

select upper('Hola');

retorna 'HOLA'.


lower(string): Retorna el texto convertido a minúsculas. Ejemplo:

select lower('Hola');

retorna 'hola'.


position(string in string): Retorna la posición de un string dentro de otro. Si no está contenido retorna un 0. Ejemplo:

select position('Mundo' in 'Hola Mundo');

retorna 6.

select position('MUNDO' in 'Hola Mundo');

retorna 0 (ya que no coinciden mayúsculas y minúsculas)


substring(string [from int] [for int]): Retorna un substring, le indicamos la posición inicial y la cantidad de caracteres a extraer desde dicha posición. Ejemplo:

select substring('Hola Mundo' from 1 for 2);

retorna 'Ho'.

select substring('Hola Mundo' from 6 for 5);

retorna 'Mundo'.


trim([leading|trailing|both] [string] from string): Elimina caracteres del principio o o final de un string. Por defecto elimina los espacios en blanco si no indicamos el caracter o string. Ejemplo:

select char_length(trim('  Hola Mundo  '));

retorna un 10. Esto es debido a que primero se ejecuta la función trim que elimina los dos espacios iniciales y los dos finales.

select char_length(trim(leading ' ' from '  Hola Mundo  '));

retorna un 12. Esto es debido a indicamos que elimine los espacios en blanco de la cadena solo del comienzo (leading).

select trim(trailing '-' from '--Hola Mundo----');

retorna '--Hola Mundo'. Esto es debido a indicamos que elimine los guiones del final del stirng.


ltrim(string,string): Elimina los caracteres de la izquierda según el dato del segundo parámetro de la función. Ejemplo:

select char_length(ltrim('  Hola'));

retorna un 4.

select ltrim('---Hola','-');

retorna 'Hola'.


rtrim(string,string): Elimina los caracteres de la derecha según el dato del segundo parámetro de la función. Ejemplo:

select char_length(rtrim('Hola  '));

retorna un 4.

select rtrim('Hola----','-');

retorna un 'Hola'.


substr(text,int[,int]): Retorna una subcadena a partir de la posición que le indicamos en el segundo parámetro hasta la posición indicada en el tercer parámetro. Ejemplo:

select substr('Hola Mundo',2,4);

retorna 'ola'.

select substr('Hola Mundo',2);

retorna 'ola Mundo' (si no indicamos el tercer parámetro retorna todo el string hasta el final)


lpad(text,int,text): Rellena de caracteres por la izquierda. El tamaño total de campo es indicado por el segundo parámetro y el texto a insertar se indica en el tercero. Ejemplo:

select lpad('Hola Mundo',20,'-');

retorna '----------Hola Mundo'.


rpad(text,int,text): Rellena de caracteres por la derecha. El tamaño total de campo es indicado por el segundo parámetro y el texto a insertar se indica en el tercero. Ejemplo:

select rpad('Hola Mundo',20,'-');

retorna 'Hola Mundo----------'.

select rpad('Hola Mundo',20,'-*');

retorna 'Hola Mundo-*-*-*-*-*'.



Retornar