[Racine des codes] [Page précédente]

MS-SQL - sans accents

/SQL/MS-SQL - sans accents.sql
alter function fn_sansAccent(@nom varchar(255))returns varchar(255)
as
begin
  -- Rq : inutile de traiter aussi les majuscules car dans l'opérateur
  -- d'égalité de MS-SQL les min égalent les maj (x=X)
  set @nom = rtrim(ltrim(@nom))
  set @nom = replace(@nom, 'à', 'a')
  set @nom = replace(@nom, 'á', 'a')
  set @nom = replace(@nom, 'â', 'a')
  set @nom = replace(@nom, 'ã', 'a')
  set @nom = replace(@nom, 'ä', 'a')
  set @nom = replace(@nom, 'å', 'a')
  set @nom = replace(@nom, 'ç', 'c')
  set @nom = replace(@nom, 'è', 'e')
  set @nom = replace(@nom, 'é', 'e')
  set @nom = replace(@nom, 'ê', 'e')
  set @nom = replace(@nom, 'ë', 'e')
  set @nom = replace(@nom, 'ì', 'i')
  set @nom = replace(@nom, 'í', 'i')
  set @nom = replace(@nom, 'î', 'i')
  set @nom = replace(@nom, 'ï', 'i')
  set @nom = replace(@nom, 'ñ', 'n')
  set @nom = replace(@nom, 'ò', 'o')
  set @nom = replace(@nom, 'ó', 'o')
  set @nom = replace(@nom, 'ô', 'o')
  set @nom = replace(@nom, 'õ', 'o')
  set @nom = replace(@nom, 'ö', 'o')
  set @nom = replace(@nom, 'ù', 'u')
  set @nom = replace(@nom, 'ú', 'u')
  set @nom = replace(@nom, 'û', 'u')
  set @nom = replace(@nom, 'ü', 'u')
  set @nom = replace(@nom, 'ý', 'y')
  return(@nom)
end
[edit]