Documentation PostgreSQL 8.1.23 > Langage SQL > Fonctions et opérateurs > Fonctions et opérateurs de chaînes binaires | |
Fonctions et opérateurs de chaînes | Fonctions et opérateurs sur les chaînes de bits |
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 sur 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 sur les chaînes binaires
Fonction | Type renvoyé | Description | Exemple | Résultat |
---|---|---|---|---|
chaîne || chaîne | bytea | Concaténation de chaîne | '\\\\Post'::bytea || '\\047gres\\000'::bytea | \\Post'gres\000 |
octet_length( chaîne) | int | Nombre d'octets dans une chaîne binaire | octet_length( 'jo\\000se'::bytea) | 5 |
position( sous-chaîne in chaîne) | int | Emplacement de la sous-chaîne indiquée | position( '\\000om'::bytea in 'Th\\000omas'::bytea) | 3 |
substring(chaîne [from int] [for int]) | bytea | Extrait la sous-chaîne | substring( 'Th\\000omas'::bytea from 2 for 3) | h\000o |
trim([both] octets from chaînes) | bytea | Supprime la plus longue chaîne contenant seulement les octets dans octets au début et à la fin de chaîne | trim('\\000'::bytea from '\\000Tom\\000'::bytea) | Tom |
get_byte(chaîne, décalage) | int | Extrait un octet de la chaîne. | get_byte( 'Th\\000omas'::bytea, 4) | 109 |
set_byte(chaîne, décalage, nouvelle_valeur) | bytea | Enregistre un octet dans la chaîne. | set_byte( 'Th\\000omas'::bytea, 4, 64) | Th\000o@as |
get_bit(chaîne, décalage) | int | Extrait un bit de la chaîne. | get_bit( 'Th\\000omas'::bytea, 45) | 1 |
set_bit(chaîne, décalage, nouvelle_valeur) | bytea | Enregistre un bit dans la chaîne. | set_bit( 'Th\\000omas'::bytea, 45, 0) | Th\000omAs |
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 coder les fonctions de chaînes suivant le standard SQL et sont listées dans le Tableau 9.8, « Fonctions et opérateurs SQL sur 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 constituée des octets de octets à partir du début et de la fin de chaîne. | btrim( '\\000trim\\000'::bytea, '\\000'::bytea) | trim |
length (chaîne) | int | Longueur de la chaîne binaire | length('jo\\000se'::bytea) | 5 |
md5(chaîne) | text | Calcule le hachage MD5 de la chaîne, renvoyant le résultat en hexadécimal | md5('Th\\000omas'::bytea) | 8ab2d3c9689aaf18 b4958c334c82d8b1 |
decode(chaîne text, type text) | bytea | Décode la chaîne binaire à partir de chaîne auparavant codé avec encode. Le type de paramètre est identique à celui d'encode. | decode('123\\000456', 'escape') | 123\000456 |
encode(chaîne bytea, type text) | text | Code la chaîne binaire en une représentation en ASCII uniquement. Les types supportés sont : base64, hex, escape. | encode( '123\\000456'::bytea, 'escape') | 123\000456 |