postgresql - funciones de caracteres
concatenación de cadenas
concat(str, …)
La función se usa para concatenar cadenas e ignora el parámetro NULL; concat_ws(sep, str, …)
la función usa el separador especificado sep para concatenar cadenas.
select concat(2, null, 22), concat_ws(' and ', 2, null, 22);
También se pueden usar dos barras verticales ( ||
) para concatenar cadenas, pero un parámetro NULL devolverá NULL.
SELECT 'Post'||'greSQL', 'Post'||NULL||'greSQL';
Caracteres y codificaciones
ascii(string)
La función devuelve el código del primer carácter ASCII
. Para códigos de retorno UTF8 Unicode
; para otras codificaciones multibyte
, el argumento debe ser un ASCII
carácter.
select ascii('x');
chr(int)
La función devuelve el carácter correspondiente a la codificación. Para UTF8, el parámetro especifica el código Unicode; para otras codificaciones multibyte
, el parámetro debe corresponder a un carácter ASCII. No se permite que el parámetro sea 0 (carácter nulo), porque el tipo de datos de texto no puede almacenar
un carácter nulo.
longitud de la cuerda
bit_length(string)
La función se utiliza para calcular el número de bits contenidos en la cadena; length(string)
, char_length(string)
,
character_length(string)
la función calcula el número de caracteres contenidos en la cadena; octet_length(string)
la función calcula el número de bytes
contenidos en la cadena.
conversión de casos
lower(string)
La función convierte una cadena a minúsculas,
upper(string)
la función convierte una cadena a mayúsculas,
initcap(string)
la función pone en mayúscula la primera letra de cada palabra y pone en minúscula el resto
Buscar y reemplazar subcadenas
substring(string [FROM] [for])
La función se utiliza para extraer la subcadena de caracteres a partir de la posición DESDE y la posición
se cuenta desde 1. substr(string, FROM [, count])
tener el mismo efecto.
left(str, n)
La función devuelve n caracteres desde la izquierda de la cadena.
Si n es negativo, devuelve todos los caracteres excepto los últimos |n|.
right(str, n)
La función devuelve los n caracteres a la derecha de la cadena. Si n es negativo, devuelve caracteres excluyendo |n| caracteres a la izquierda
.
substring(string FROM pattern)
La función extrae subcadenas que coinciden con una expresión regular POSIX.
substring(string FROM pattern for escape)
La función extrae subcadenas que coinciden con una expresión regular SQL.
regexp_match(string, pattern [, flags])
La función devuelve la primera subcadena que coincide con una expresión regular POSIX.
regexp_matches(string, pattern [, flags])
La función devuelve todas las subcadenas que coinciden con la expresión regular POSIX y el resultado
es un conjunto que
position(substring in string)
devuelve las posiciones de las subcadenas; strpos(string, substring)
la función tiene el mismo efecto, pero
el orden de los parámetros se invierte.
starts_with(string, prefix)
La función juzga si la cadena prefix
comienza con y devuelve verdadero si es así; de lo contrario, devuelve
falso.
replace(string, FROM, to)
La función reemplaza la subcadena FROM en la cadena cadena con to
una subcadena; la función reemplaza la subcadena
regexp_replace(string, pattern, replacement [, flags])
en la cadena cadena que coincide con POSIX
la expresión regular con . La función reemplaza la cadena de caracteres que aparece en FROM en la cadena de cadena con el carácter en la posición correspondiente en a. Si la longitud es mayor que to, se eliminarán los caracteres que no tengan un valor correspondiente en to. La función utiliza una subcadena para sobrescribir la cadena de
pattern
replacement
translate(string , FROM , to)
FROM
overlay(string placing substring FROM [for])
Los caracteres a partir de los cuales comienza FROM.
select overlay('txxxxas' placing 'hom' from 2 for 4);
Truncar y rellenar
trim([leading | trailing | both] [characters] FROM string)
La función elimina la subcadena más larga que consta de los caracteres especificados (espacio por defecto) desde el principio (inicial), el final (final) o ambos extremos (ambos) de la cadena;
trim([leading | trailing | both] [FROM] string [, characters])
la función tiene el mismo efecto.
select trim(both 'xyz' from 'yxTomxx');
btrim(string [, characters])
La función de la función es la misma que las dos opciones de la función de recorte anterior; ltrim(string [, characters])
es la misma que la opción principal de la función de recorte anterior; rtrim(string [, characters])函数上面 trim 函数的 trailing
las opciones son las mismas.
select btrim('yxTomxx', 'xyz'), ltrim('yxTomxx', 'xyz'), rtrim('yxTomxx',
'xyz');
lpad(string, length [, fill ])
La función llena la cadena con los caracteres de relleno (espacio predeterminado) a la izquierda hasta que
la longitud sea longitud. Si la cadena es más larga que la longitud, se trunca a la longitud desde la derecha.
rpad(string, length [, fill ])
La función llena la cadena con los caracteres de relleno (espacios de forma predeterminada) en el lado derecho de la cadena hasta que
la longitud sea longitud. Si la cadena es más larga que la longitud, se trunca a la longitud desde la derecha.
repeat(string, number)
La función repite la cadena N veces.
select lpad('hi', 5, 'xy'), rpad('hi', 5, 'xy'), repeat('Pg', 4);
formato de cadena
format(formatstr , formatarg)
Se utiliza para formatear cadenas, similar a la función sprintf en lenguaje C.
select format('hello %s, %1$s', 'world');
valor MD5
md5(string)
Función utilizada para devolver el valor MD5 en formato hexadecimal.
división de cuerdas
regexp_split_to_table(string, pattern[, flags])
Función para dividir una cadena, utilizando POSIX
una expresión regular
como delimitador. El tipo de retorno de la función es una colección de texto.
select regexp_split_to_table('hello world', '\s+');
split_part(string, delimiter, field)
La función delimiter
divide la cadena y devuelve el elemento especificado (
contando desde 1).
select split_part('abc~@~def~@~ghi', '~@~', 2);
cuerda inversa
reverse(str)
Función para invertir una cadena.
select reverse('上海自来水');