En algunos momentos cuando nos encontramos realizando búsquedas en la base de datos por campos de tipo texto como por ejemplo el nombre o apellido de un empleado nos podemos encontrar que el omitir o agregar un signo de acentuación nos puede filtrar información necesaria. Por ejemplo, si estamos buscando todas las coincidencias para el nombre Paéz la instrución SQL omitiría de la consulta los usuario que tengan como nombre Paez, para evitar esto crearemos una función para quitar acentos en SQL Server.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
--Función que cambia las vocales con tilde. CREATE FUNCTION RemoverTildes ( @Cadena VARCHAR(100) ) RETURNS VARCHAR(100) AS BEGIN --Reemplazamos las vocales acentuadas RETURN REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@Cadena, 'á', 'a'), 'é','e'), 'í', 'i'), 'ó', 'o'), 'ú','u') END --Si queremos probar la consulta ejecutamos esto SELECT [dbo].[RemoverTildes] ('Paéz' ) --Resultado obtenido es Paez |
También te puede interesar
Comments
-
CC
Esta perfecta la sentencia, pero también se puede usar COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI después del LIKE.
Esto quita la sensibilidad en la palabras acentuadas. Funciona en SQLServer 2000 en adelante
saludos
Nov 20, 2013, 7:21 am -
Harias
Excelente dato.
Dic 1, 2013, 3:36 pm -
paula
muy util, gracias
Nov 14, 2016, 7:25 pm -
Anónimo
Visitor Rating: 4 Stars
Nov 23, 2017, 10:32 am -
Anónimo
Visitor Rating: 5 Stars
Mar 9, 2018, 12:31 pm -
Anónimo
Visitor Rating: 5 Stars
Jul 6, 2018, 10:58 am -
Anónimo
Visitor Rating: 5 Stars
Ago 8, 2018, 3:35 pm
Leave a Comment
Your email address will not be published.