IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Equivalent de la fonction Translate [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut Equivalent de la fonction Translate
    Bonjour,

    En relisant ce post :

    https://www.developpez.net/forums/d1...miser-donnees/

    Je découvre une fonction Translate qui permet d'éviter des replace de replace de replace. Mais qui n'existerait que sur Oracle.

    Est-ce que depuis, il existe une fonction équivalente dans SQL Server ? (sachant que nous allons bientôt migrer sur 2016).

    Merci beaucoup pour votre aide.

    JPG

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Pas de telle fonction nativement à ma connaissance

    en revanche, vous pouvez utiliser la fonction FN_TRANSLATE que SQLPro a publiée ici

  3. #3
    Membre régulier
    Profil pro
    Consultant finance
    Inscrit en
    Mars 2009
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 165
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Merci pour votre réponse. Je clique sur résolu mais j'ai juste une petite question.

    Nous avons créé cette fonction qui comporte où nous y avons intégré directement les caractères à remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ALTER FUNCTION [dbo].[TRANSLATE] (
    @chaine NVARCHAR(MAX)
    )
    RETURNS NVARCHAR(MAX)
    AS
    BEGIN
     
    DECLARE 
      @i SMALLINT = 1,
      @caractere_a_remplacer NVARCHAR(MAX) =      'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
      @caractere_de_remplacement NVARCHAR(MAX) =  'EXVPAHJNCMRZQSUWSTGBEDFKYL5478965432'
     
    WHILE @i <= LEN(@caractere_a_remplacer) 
    BEGIN
    SELECT @chaine = REPLACE(@chaine,SUBSTRING(@caractere_a_remplacer,@i,1),SUBSTRING(@caractere_de_remplacement,@i,1))
    SET @i += 1
    END
    RETURN @chaine
    END
    Existe-t-il une fonction pour rendre aléatoire @caractere_de_remplacement, dans l'idéal en respectant le remplacement des voyelles par des voyelles, des consonnes par des consonnes et des chiffres par des chiffres ?

    Merci encore.

    JPG

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/10/2008, 13h58
  2. [PEAR][DB] Equivalent de la fonction "mysql_field_name()
    Par o151181 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/09/2005, 17h16
  3. Réponses: 9
    Dernier message: 24/05/2005, 16h34
  4. Equivalent de la fonction d'agregat LIST ?
    Par rahan15 dans le forum SQL
    Réponses: 5
    Dernier message: 10/12/2004, 22h21
  5. Equivalent de la fonction trim
    Par PCHINK dans le forum C
    Réponses: 6
    Dernier message: 21/03/2004, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo