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 ***********************