Afficher un message
Vieux 27/07/2007, 10h56   #4
OokieDookie
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Aide sur un script Uppercase/lowercase

Bonjour,

Fred BOUARD a créé une fonction utilisateur qui peut t'aider dans ta
démarche (http://sqlpro.developpez.com/cours/sqlserver/udf/)

Exécute ce script sur ta base :

CREATE FUNCTION FN_FIRST_CAP (@NAME VARCHAR(8000))
RETURNS VARCHAR(8000)
AS
BEGIN
IF @NAME IS NULL
RETURN NULL
IF LEN(@NAME) = 1
RETURN UPPER(@NAME)
RETURN UPPER(SUBSTRING(@NAME, 1, 1)) +
LOWER(SUBSTRING(@NAME, 2, LEN(@NAME) -1))
END
GO

Il te suffit ensuite de lancer une requête du type :
SELECT FN_FIRST_CAP(Nom) AS Nom, FN_FIRST_CAP(Prenom) AS Prenom FROM TATABLE

Pour la suite je te conseille d'attendre le retour de congés du développeur
:/, mais la fonction PATINDEX peut t'aider (notamment pour détecter les
espaces et les tirets).
Mais comme l'a dit Jean-Pierre, ça risque d'être sport avec uniquement des
requêtes.

HTH


"christophe cDs" a écrit :

> Bonjour et merci de votre réponse,
>
> La base de donnée se trouve sur un serveur SQL2000 entreprise.
> En ne prenant pas en considération les noms composé, mais juste le fait de
> mettre les premieres lettres en capital et le reste en petit, est ce que
> cela pourrait faciliter la tache pour creer une requete ?
>
> A vrai dire je ne suis pas developpeur du tout mais manager du support
> client, le developpeur est actuellement en vacances, c'est pourquoi j'essai
> de me debrouiller tant bien que mal a trouver une solution.
>
> Je pense que cela doit etre possible , j'ai effectuer des recherche sur le
> net, et trouver quelques approches mais rien de concluant malheureusement.
>
> En tout cas merci encore de votre réponse.
>
> Christophe
>
>
>
> "Jean-Pierre Riehl" <jean-pierre.riehl@b-e-w-i-s-e.fr> a écrit dans le
> message de news: 18B171E2-6A65-42E0-A408-37F900636BD6@microsoft.com...
> > Bonjour Christophe,
> >
> > SQL n'est pas le langage de prédilection pour manipuler des chaînes de
> > caractères, un langage de programmation sera plus adapté. De plus, ce
> > genre de traitement est à implémenter dans une couche métier, bien avant
> > d'être au sein de SQL Server. Cela dit, je ne connais pas les contraintes
> > donc je vais proposer d'autres idées :
> > -il est aussi possible de définir ses propres types (UDT) développés en
> > .NET (C#, VB.NET, etc.) et de les faire fonctionner dans SQL Server 2005
> > avec la SQLCLR.
> > -si ce traitement doit être effectué une seule fois en mode batch, vous
> > pouvez aussi regarder du coté des Procédures Stockées en code managé.
> >
> > J'espère avoir répondu à la question...
> >
> > --
> > Jean-Pierre Riehl
> > http://blog.djeepy1.net
> > http://www.bewise.fr
> >
> >
> > "christophe cDs" <christophe@(no-spam)cds-paris.com> wrote in message
> > news:e0a2cgszHHA.4916@TK2MSFTNGP03.phx.gbl...
> >> Bonjour,
> >>
> >> J'aimerais mettre à jour le contenu de 2 colonnes "prenom" et "nom" d'une
> >> table "models" pour que les entrées soit mise à jour de la façon suivante
> >> :
> >>
> >> 1 ère lettre en capitale (uppercase) et le reste en petit (lowercase) .
> >> (en prenant en compte qu il peut y avoir des prenom/nom composé, ex:
> >> marie cécile dodu qui doit devenir Marie Cécile Dodu)
> >>
> >> Merci de votre aide.
> >>
> >> Christophe
> >>

> >

>
>
>

  Réponse avec citation
 
Page generated in 0,06596 seconds with 9 queries