Cette section décrit les fonctions et opérateurs pour examiner et manipuler des valeurs de type bytea.
SQL définit quelques fonctions de chaînes avec une syntaxe spéciale où certains mots clés, à la place des virgules, sont utilisés pour séparer les mots clés. Les détails font partie du Tableau 9.8, « Fonctions et opérateurs SQL pour les chaînes binaires ». Quelques fonctions sont aussi implémentées en utilisant la syntaxe habituelle 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 les 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 dans 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 | Enregistre un bit dans une chaîne | set_bit(E'Th\\000omas'::bytea, 45, 0) | Th\000omAs |
| set_byte(chaîne, décalage, nouvelle_valeur) | bytea | Enregistre un octet dans 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 contenant seulement les octets de octets de toute la chaîne | trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) | Tom |
Des fonctions supplémentaires de manipulations de chaînes binaires sont disponibles et sont listées dans le Tableau 9.9, « Autres fonctions sur les chaînes binaires ». Certaines sont utilisées en interne pour implémenter les fonctions de chaînes suivant le standard SQL et sont listées dans le Tableau 9.8, « Fonctions et opérateurs SQL pour les 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 consistant seulement des 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, type text) | bytea | Décode la chaîne binaire chaîne auparavant codé avec encode. Le type de paramètre est le même que dans encode. | decode(E'123\\000456', 'escape') | 123\000456 |
| encode(chaîne bytea, type text) | text | Code la chaîne binaire en sa représentation en ASCII seul. Les types supportés sont base64, hex, escape. | 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, renvoyant le résultat en hexadécimal | md5(E'Th\\000omas'::bytea) | 8ab2d3c9689aaf18 b4958c334c82d8b1 |