Dans PostgreSQL, nous pouvons utiliser le initcap()
pour formater une chaîne de texte afin d'utiliser des majuscules initiales. Autrement dit, il convertit la première lettre de chaque mot en majuscule et le reste en minuscule.
Syntaxe
La syntaxe ressemble à ceci :
initcap ( text )
Où text
est le texte à convertir en majuscules initiales.
Exemple
SELECT initcap('Bay of pigs');
Résultat :
Bay Of Pigs
Voici un exemple qui commence par tout le texte en majuscule :
SELECT initcap('PRACHUAP KHIRI KHAN');
Résultat :
Prachuap Khiri Khan
Les mots sont des suites de caractères alphanumériques séparés par des caractères non alphanumériques :
SELECT
initcap('shrink-wrap') AS "1",
initcap('shrink.wrap') AS "2",
initcap('shrink,wrap') AS "3";
Résultat :
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | Shrink-Wrap | Shrink.Wrap | Shrink,Wrap | +-------------+-------------+-------------+
Les nombres sont alphanumériques, donc la mise en majuscule des mots suivants dépendra de la présence ou non d'un autre caractère non alphanumérique :
SELECT
initcap('shrink1wrap') AS "1",
initcap('shrink1 wrap') AS "2";
Résultat :
+-------------+--------------+ | 1 | 2 | +-------------+--------------+ | Shrink1wrap | Shrink1 Wrap | +-------------+--------------+
Exemple de base de données
Voici un exemple de conversion des résultats d'une requête de base de données en majuscules initiales :
SELECT
title,
initcap(title)
FROM film
LIMIT 10;
Résultat :
+------------------+------------------+ | title | initcap | +------------------+------------------+ | ACADEMY DINOSAUR | Academy Dinosaur | | ACE GOLDFINGER | Ace Goldfinger | | ADAPTATION HOLES | Adaptation Holes | | AFFAIR PREJUDICE | Affair Prejudice | | AFRICAN EGG | African Egg | | AGENT TRUMAN | Agent Truman | | AIRPLANE SIERRA | Airplane Sierra | | AIRPORT POLLOCK | Airport Pollock | | ALABAMA DEVIL | Alabama Devil | | ALADDIN CALENDAR | Aladdin Calendar | +------------------+------------------+
Ici j'ai utilisé la pagila
exemple de base de données. Cette base de données stocke les noms de films en caractères majuscules dans le title
colonne. Dans ce cas, j'ai utilisé le initcap()
fonction pour convertir le title
colonne pour utiliser les majuscules initiales.