Début chaîne en majuscule SQL

Résolu/Fermé
Signaler
Messages postés
1312
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
13 novembre 2021
-
Messages postés
1312
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
13 novembre 2021
-
Bonjour,

J'ai une chaine de caractères, composée de 1 ou plusieurs mots.
La première lettre de chaque mot, je souhaiterais la mettre en majuscule, et le reste de chaque mot en minuscule.
Je sais si il n'y a qu'un mot, mais plusieurs ......

Merci.

2 réponses

Salut,

pourquoi en sql? Ne vaudrait il pas mieux faire ceci lors de l'insertion?
SQL est un langage de bas niveau(simple) vous n'aurez pas de fonction comme les expressions régulières et les découpages de chaînes sont plus ardus qu'avec un langage plus haut niveau.

En php vous pouvez utiliser explode pour séparer chaque mot dans un tableau

http://www.php.net/manual/fr/function.explode.php

Puis prendre la première lettre de chaque mot et la mettre en majuscule et les lettres suivantes en minuscule avec strtoupper / strtolower

http://php.net/manual/fr/function.strtoupper.php


Puis concaténez à nouveau la chaîne en n'oubliant pas d'ajouter un espace entre chaque mot.

Est ce clair?
Pouvez vous utiliser PHP? Si c'est le cas c'est assez simple de rajouter à votre fonction la récupération des données déjà enregistrée dans les tables pour les 'normer' selon votre syntaxe.

Une autre solution certainement aussi bien est de ne pas considérer les majuscules et minuscules dans les tables mais uniquement lors de l'affichage, en gros vous faites une requête et appliquez les majuscules au début de chaque mot de chaque résultat.
Messages postés
1312
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
13 novembre 2021
10
C'est bon ........... J'ai envoyé !!!!
Merci
A ++
Messages postés
1312
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
13 novembre 2021
10
Merci opda.
Voici ce que j'ai fait
$prenom = strtolower($prenom);
$prenom = explode(" ", $prenom);
$prenom0 = UcFirst($prenom[0]);
$prenom1 = UcFirst($prenom[1]);
$prenom2 = UcFirst($prenom[2]);
$prenom3 = UcFirst($prenom[3]);
$prenom = $prenom0 $prenom1 $prenom2 $prenom3;

Bien sûr, je limite le prénom à 4 prénoms .......
Et sur la dernière ligne, j'ai le message : Parse error: syntax error, unexpected T_VARIABLE .
Je ne trouve pas d'où cela provient ...... ???