31/07/2007, 10h33
|
#12
|
|
|
Re: Aide sur un script Uppercase/lowercase
Oui j'ai vu ça que cela fonctionnait après plusieurs test.
Encore merci de votre aide a tous.
Chris.
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
OyWR63n0HHA.5980@TK2MSFTNGP04.phx.gbl...
>
>
> christophe cDs a écrit :
>> Bonjour et merci,
>>
>> Je viens de tester votre solution, lorsque exécute le script pour créer
>> la fonction, cela passe sans problème, mais lorsque je passe le deuxième
>> script en mettant le nom de ma table, j'ai une erreur qui me dit qu il ne
>> reconnaît pas FN_FIRST_CAP comme étant une fonction.
>
> Une fonction doit TOUJOURS être appelée avec son nom + SON SCHEMA.
>
> Donc dbo.FN_FIRST_CAP
>
> A +
>
>
>
>>
>> Server: Msg 195, Level 15, State 10, Line 1
>> 'FN_FIRST_CAP' is not a recognized function name.
>>
>> Une idée de pourquoi il ne la reconnaît pas alors que lors de la création
>> je n'ai pas eu d'erreur.
>>
>> Merci encore.
>>
>> Christophe
>> cDs
>>
>>
>>
>> "OokieDookie" <sorrynospam@nowhere.com> a écrit dans le message de news:
>> C2BBAC5A-87A1-485B-8020-B94CF5770E98@microsoft.com...
>>> 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
>>>>>>
>>>>
>>>>
>>
>>
>
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
|
|
|
|