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

Esta seção descreve as funções e operadores disponíveis para examinar e manipular 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 9-10. Algumas funções também são implementadas utilizando a sintaxe regular de chamada de função (Consulte a Tabela 9-11).

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

Função Tipo retornado Descrição Exemplo Resultado
cadeia_binária || cadeia_binária bytea Concatenação de cadeias binárias '\\\\Post'::bytea || '\\047gres\\000'::bytea \\Post'gres\000
octet_length(cadeia_binária) integer Número de bytes da cadeia binária octet_length( 'Jo\\000sé'::bytea) 5
position(subcadeia in cadeia_binária) integer Posição da subcadeia especificada position('\\000om'::bytea in 'Th\\000omas'::bytea) 3
substring(cadeia_binária [from integer] [for integer]) bytea Extrai uma parte da cadeia binária substring('Th\\000omas'::bytea from 2 for 3) h\000o
trim([both] bytes from cadeia_binária) bytea Remove a cadeia mais longa contendo apenas os bytes em bytes do início e do fim da cadeia_binária. trim('\\000'::bytea from '\\000Tom\\000'::bytea) Tom
get_byte(cadeia_binária, deslocamento) integer Extrai byte da cadeia binária. get_byte('Th\\000omas'::bytea, 4) 109
set_byte(cadeia_binária, deslocamento, novo_valor) bytea Define byte na cadeia binária. set_byte('Th\\000omas'::bytea, 4, 64) Th\000o@as
get_bit(cadeia_binária, deslocamento) integer Extrai bit da cadeia binária. get_bit('Th\\000omas'::bytea, 45) 1
set_bit(cadeia_binária, deslocamento, novo_valor) bytea Define bit na cadeia binária. set_bit('Th\\000omas'::bytea, 45, 0) Th\000omAs

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

Tabela 9-11. Outras funções para cadeias binárias

Função Tipo retornado Descrição Exemplo Resultado
btrim(cadeia_binária bytea, bytes bytea) bytea Remove do início e do fim da cadeia_binária, a cadeia mais longa contendo apenas os bytes em bytes btrim('\\000trim\\000'::bytea, '\\000'::bytea) trim
length(cadeia_binária) integer Comprimento da cadeia binária length('Jo\\000sé'::bytea) 5
decode(cadeia_binária text, tipo text) bytea Decodifica a cadeia_binária previamente codificada com encode(). O tipo do parâmetro é o mesmo do encode(). decode('123\\000456', 'escape') 123\000456
encode(cadeia_binária bytea, tipo text) text Codifica a cadeia_binária na representação somente ASCII. Os tipos suportados são: base64, hex, escape. encode('123\\000456'::bytea, 'escape') 123\000456
SourceForge.net Logo CSS válido!