Remplacement de caractères accentués en SQL

Fermé
bong03 Messages postés 43 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 20 novembre 2013 - 2 juil. 2008 à 11:48
bong03 Messages postés 43 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 20 novembre 2013 - 2 juil. 2008 à 12:04
Bonjour,

Comment traduire le code suivant en MS-SQL ?

/// Fonction de conversion de chaîne accentué en chaîne sans accent
/// </summary>
/// <param name="chaine">La chaine à convertir</param>
/// <returns>string</returns>
private string convertirChaineSansAccent(string chaine)
{
// Déclaration de variables
string accent = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç";
string sansAccent = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc";
// Conversion des chaines en tableaux de caractères
char[] tableauSansAccent = sansAccent.ToCharArray();
char[] tableauAccent = accent.ToCharArray();
// Pour chaque accent
for(int i=0; i<accent.Length; i++)
{
// Remplacement de l'accent par son équivalent sans accent dans la chaîne de caractères
chaine = chaine.Replace(tableauAccent[i].ToString(), tableauSansAccent[i].ToString());
}
// Retour du résultat
return chaine;
}
A voir également:

2 réponses

BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
2 juil. 2008 à 11:57
Salut,

SQL n'est pas un language de programmation mais un language de requête permettant d'interagir avec une base de donnée.
Il existe bien la fonction REPLACE mais elle travaille caractère (ou chaîne de caractère) par caractère (ou ...).
1
bong03 Messages postés 43 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 20 novembre 2013 2
2 juil. 2008 à 12:04
Salut BlueMind.

Oui, tout ça je sais... Je sais aussi qu'avec SQL on peut faire des fonctions et des procédures.
Par contre je sais pas si on peut utiliser des regex avec MS-SQL, et si oui comment ? Ce qui simplifierais grandement la tâche !

Merci à tous de m'aider.


Alf

PS : désolé pour ne pas avoir remercier dans mon 1er post : j'ai appuyé trop vite sur envoi...
0