6.5. Funções e operadores para cadeias binárias

Esta seção descreve as funções e operadores disponíveis para examinar e manipular cadeias binárias. As cadeias binárias neste contexto significam valores do tipo BYTEA.

O SQL define algumas funções para cadeias binárias com uma sintaxe especial onde certas palavras chave, em vez de vírgulas, são utilizadas para separar os argumentos. Os detalhes estão na Tabela 6-9. Algumas funções também são implementadas utilizando a sintaxe regular de chamada de função (Veja a Tabela 6-10).

Tabela 6-9. Funções e operadores SQL para cadeias binárias

FunçãoTipo retornadoDescriçãoExemploResultado
cadeia_de_caracteres || cadeia_de_caracteres bytea Concatenação de cadeias binárias '\\\\Post'::bytea || '\\047greSQL\\000'::bytea\\Post'greSQL\000
octet_length(cadeia_de_caracteres)integerNúmero de bytes da cadeia bináriaoctet_length('jo\\000se'::bytea)5
position(substring in cadeia_de_caracteres)integerLocalização da substring especificadaposition('\\000om'::bytea in 'Th\\000omas'::bytea)3
substring(cadeia_de_caracteres [from integer] [for integer])bytea Extrair substring substring('Th\\000omas'::bytea from 2 for 3)h\000o
trim([both] caracteres from cadeia_de_caracteres) bytea Remove do início/fim/ambas as extremidades da cadeia_de_caracteres, a cadeia mais longa contendo apenas os caracteres trim('\\000'::bytea from '\\000Tom\\000'::bytea)Tom
get_byte(cadeia_de_caracteres, deslocamento)integer Extrai byte da cadeia get_byte('Th\\000omas'::bytea, 4)109
set_byte(cadeia_de_caracteres, deslocamento, novo_valor)bytea Define byte na cadeia set_byte('Th\\000omas'::bytea, 4, 64)Th\000o@as
get_bit(cadeia_de_caracteres, deslocamento)integer Extrai bit da cadeia get_bit('Th\\000omas'::bytea, 45)1
set_bit(cadeia_de_caracteres, deslocamento, novo_valor)bytea Define bit na cadeia set_bit('Th\\000omas'::bytea, 45, 0)Th\000omAs

Outras funções para manipulação de cadeias binárias estão disponíveis, conforme mostrado na Tabela 6-10. Algumas são utilizadas internamente para implementar as funções do padrão SQL mostradas na Tabela 6-9.

Tabela 6-10. Outras funções para cadeias binárias

FunçãoTipo retornadoDescriçãoExemploResultado
btrim(cadeia_de_caracteres bytea trim bytea)bytea Remove (trim) do início e do fim da cadeia_de_caracteres, a cadeia mais longa composta apenas por caracteres de trim btrim('\\000trim\\000'::bytea,'\\000'::bytea)trim
length(cadeia_de_caracteres)integer Comprimento da cadeia binária length('jo\\000se'::bytea)5
encode(cadeia_de_caracteres bytea, tipo text) text Codifica a cadeia binária para a representação somente ASCII Os tipos suportados são: base64, hex, escape. encode('123\\000456'::bytea, 'escape')123\000456
decode(cadeia_de_caracteres text, tipo text) bytea Decodifica a cadeia binária da cadeia_de_caracteres previamente codificada com encode(). O tipo do parâmetro é o mesmo do encode(). decode('123\\000456', 'escape')123\000456