PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment utiliser la fonction Substring dans PostgreSQL et Redshift

Parfois, une chaîne de votre base de données peut contenir des informations intégrées dans cette chaîne en tant que sous-chaîne. Cette chaîne peut être un numéro d'identification qui peut exister dans une activité ou un numéro de suivi pour le site Web de votre entreprise.

Voici un exemple où une entreprise qui surveille l'activité du trafic sur le site Web a une convention de dénomination spécifique pour l'ID de suivi d'activité. La convention de dénomination est "ID d'activité" qui est de 6 caractères et en première position, "ID client" qui est de 7 caractères et apparaît en deuxième, et en troisième position "ID de page" qui est de 3 caractères. Ces trois numéros d'identification sont réunis dans une seule chaîne sans caractères de séparation. Dans cet exemple, un numéro de suivi pourrait ressembler à ceci :WSL194OH08856CAS.

Vous voudrez peut-être extraire le numéro d'identification client, et pour ce faire, vous pouvez utiliser la fonction de sous-chaîne suivante :

SUBSTRING("WSL194OH08856CAS",7,7)

Sachant que le numéro d'identification du client comporte 7 chiffres et commence par la 7e position, la formule décrite ci-dessus fonctionne de la manière suivante :

En outre, vous voudrez peut-être simplement avoir l'ID d'activité. Pour obtenir cela, vous utiliserez la même fonction mais d'une manière légèrement différente.

SUBSTRING("WSL194OH08856CAS",1,6)

Tout comme l'extrait de code précédent, nous avons regardé celui-ci commencer par la 1ère position et renvoyer une chaîne de 6 caractères.

Dans notre dernier exemple, vous pourriez être intéressé par l'ID de page, qui dans notre cas se trouve à la fin de la chaîne. Pour cela, vous pouvez utiliser la fonction comme celle-ci :

SUBSTRING("WSL194OH08856CAS",14)

Dans cet exemple, en omettant l'argument final, vous commandez à la base de données de vous renvoyer tout après et y compris le caractère en 14ème position.

À l'aide de cette fonction, vous pouvez désormais analyser une chaîne dans une colonne en fonction des positions et des longueurs connues des sous-chaînes qu'elle peut contenir. Il s'agit d'une technique utile pour diviser une colonne en plusieurs sous-chaînes si ces sous-chaînes peuvent être utilisées d'une manière différente de l'intégralité de la chaîne d'origine.