| Documentation PostgreSQL 8.3.23 > Langage SQL > Fonctions et opérateurs > Fonctions et opérateurs de chaînes binaires | |
| PrécédentFonctions et opérateurs de chaînes | Fonctions et opérateurs sur les chaînes de bitsSuivant |
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 avec une syntaxe spéciale où certains mots clés 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 ». Quelques fonctions sont aussi implantées avec 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 chaînes binaires
| Fonction | Type renvoyé | Description | Exemple | Résultat |
|---|---|---|---|---|
| chaîne || chaîne | bytea | Concaténation de chaîne | E'\\\\Post'::bytea || E'\047円gres\000円'::bytea | \\Post'gres000円 |
| get_bit(chaîne, décalage) | int | Extrait un bit d'une chaîne | get_bit(E'Th\000円omas'::bytea, 45) | 1 |
| get_byte(chaîne, décalage) | int | Extrait un octet d'une chaîne | get_byte(E'Th\000円omas'::bytea, 4) | 109 |
| octet_length( chaîne) | int | Nombre d'octets d'une chaîne binaire | octet_length( E'jo\000円se'::bytea) | 5 |
| position( sous-chaîne in chaîne) | int | Emplacement de la sous-chaîne indiquée | position( E'\000円om'::bytea in E'Th\000円omas'::bytea) | 3 |
| set_bit(chaîne, décalage, nouvelle_valeur) | bytea | Positionne un bit de la chaîne | set_bit(E'Th\000円omas'::bytea, 45, 0) | Th000円omAs |
| set_byte(chaîne, décalage, nouvelle_valeur) | bytea | Positionne un octet de la chaîne | set_byte( E'Th\000円omas'::bytea, 4, 64) | Th000円o@as |
| substring(chaîne [from int] [for int]) | bytea | Extrait une sous-chaîne | substring(E'Th\000円omas'::bytea from 2 for 3) | h000円o |
| 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'\000円Tom\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'\000円trim\000円'::bytea, E'\000円'::bytea) | trim |
| decode(chaîne text, type text) | bytea | Décode la chaîne binaire chaîne auparavant codée avec encode. Le type de paramètre est le même que dans encode. | decode(E'123\000456円', 'escape') | 123000456円 |
| encode(chaîne bytea, type text) | text | Code la chaîne binaire en sa représentation ASCII. Les types supportés sont base64, hex, escape. | encode(E'123\000456円'::bytea, 'escape') | 123000456円 |
| length (chaîne) | int | Longueur de la chaîne binaire | length(E'jo\000円se'::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\000円omas'::bytea) | 8ab2d3c9689aaf18 b4958c334c82d8b1 |