Remplacement de caractères accentués en SQL

bong03 Messages postés 44 Statut Membre -  
bong03 Messages postés 44 Statut Membre -
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 Statut Membre 159
 
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 44 Statut Membre 2
 
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