PostgreSQLLa base de données la plus sophistiquée au monde.

9.5. Fonctions et opérateurs de chaînes binaires

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