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-*-*-*-*-*'.