Cette section décrit les fonctions et opérateurs d'examen et de manipulation des valeurs de type bytea.
SQL définit quelques fonctions de chaînes qui utilise des mots clés qui sont employés à la place de virgules pour séparer les arguments. Les détails sont présentés dans Tableau 9.8, « Fonctions et opérateurs SQL pour chaînes binaires ». PostgreSQL™ fournit aussi des versions de ces fonctions qui utilisant la syntaxe standard de l'appel de fonction (voir le Tableau 9.9, « Autres fonctions sur les chaînes binaires »).
Tableau 9.8. Fonctions et opérateurs SQL pour chaînes binaires
Fonction | Type renvoyé | Description | Exemple | Résultat |
---|---|---|---|---|
chaîne || chaîne | bytea | Concaténation de chaîne | E'\\\\Post'::bytea || E'\\047gres\\000'::bytea | \\Post'gres\000 |
get_bit(chaîne, décalage) | int | Extrait un bit d'une chaîne | get_bit(E'Th\\000omas'::bytea, 45) | 1 |
get_byte(chaîne, décalage) | int | Extrait un octet d'une chaîne | get_byte(E'Th\\000omas'::bytea, 4) | 109 |
octet_length( chaîne) | int | Nombre d'octets d'une chaîne binaire | octet_length( E'jo\\000se'::bytea) | 5 |
position( sous-chaîne in chaîne) | int | Emplacement de la sous-chaîne indiquée | position( E'\\000om'::bytea in E'Th\\000omas'::bytea) | 3 |
set_bit(chaîne, décalage, nouvelle_valeur) | bytea | Positionne un bit de la chaîne | set_bit(E'Th\\000omas'::bytea, 45, 0) | Th\000omAs |
set_byte(chaîne, décalage, nouvelle_valeur) | bytea | Positionne un octet de la chaîne | set_byte( E'Th\\000omas'::bytea, 4, 64) | Th\000o@as |
substring(chaîne [from int] [for int]) | bytea | Extrait une sous-chaîne | substring(E'Th\\000omas'::bytea from 2 for 3) | h\000o |
trim([both] octets from chaîne) | bytea | Supprime la plus longue chaîne composée uniquement d'octets de octets à partir du début et de la fin de chaîne | trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) | Tom |
Des fonctions supplémentaires de manipulations de chaînes binaires sont listées dans le Tableau 9.9, « Autres fonctions sur les chaînes binaires ». Certaines sont utilisées en interne pour coder les fonctions de chaînes suivant le standard SQL et sont listées dans le Tableau 9.8, « Fonctions et opérateurs SQL pour chaînes binaires ».
Tableau 9.9. Autres fonctions sur les chaînes binaires
Fonction | Type retourné | Description | Exemple | Résultat |
---|---|---|---|---|
btrim(chaîne bytea, octets bytea) | bytea | Supprime la plus longue chaîne constituée uniquement d'octets de octets à partir du début et de la fin de chaîne. | btrim( E'\\000trim\\000'::bytea, E'\\000'::bytea) | trim |
decode(chaîne text, format text) | bytea | Décode les données binaires de leur représentation textuelle dans chaîne auparavant codée. Les options pour format sont les mêmes que pour encode. | decode(E'123\\000456', 'escape') | 123\000456 |
encode(chaîne bytea, type text) | text | Code les données binaires en une représentation textuelle. Les formats supportés sont : base64, hex, escape. escape convertit les octets nuls et les octets dont le bit de poids fort est à 1, en séquence octal (\nnn) et des antislashs doubles. | encode(E'123\\000456'::bytea, 'escape') | 123\000456 |
length (chaîne) | int | Longueur de la chaîne binaire | length(E'jo\\000se'::bytea) | 5 |
md5(chaîne) | text | Calcule le hachage MD5 de la chaîne et retourne le résultat en hexadécimal | md5(E'Th\\000omas'::bytea) | 8ab2d3c9689aaf18 b4958c334c82d8b1 |