Por ASP clásico / 15/08/2012 @ 12:38:34 / 2662 visitas
Cuando necesitamos buscar registros en una base de datos de SQL Server un texto que el usuario ingresó en nuestra aplicación suele ser muy útil no considerar los acentos en dicha búsqueda, especialmente si hablamos de nombres o apellidos de personas.
Por ejemplo, si buscas el apellido “Perez”, también se desea que les aparezcan los resultados con los apellidos “Pérez”.
Para lograr que no se distingan acentos en una búsqueda en una base de datos de SQL Server es necesario cambiar la intercalación (“Collation” en inglés) del campo en el que quieres buscar o bien de la base de datos completa, para que utilice alguna de las intercalaciones que ignoran los acentos, que son aquellas acabadas en “_IA” (Insensitive Accent).
La sentencia para cambiar una base de datos completa para utilizar la intercalación “Modern_Spanish_CI_AI”:
ALTER DATABASE [nombrebasededatos] COLLATE Modern_Spanish_CI_AI
Si lo que queremos es sólo cambiar un campo de una tabla, el administrador de SQL Server ayudará con el cambiol. Sólo tienes que editar las propiedades de la columna, y quitar la opción de “Distinguir acentos” en el formulario que aparece al intentar modificar la propiedad “Intercalación”.
Es muy común que una búsqueda no distinga las palabras que se diferencian sólo por acentos. Por ejemplo si tenemos la siguiente consulta y utilizamos "San" como valor de entrada:
SELECT Nombre, ApellidoPaterno, ApellidoMaterno FROM Empleados WHERE ApellidoPaterno LIKE '%' + @Valor +'%'
Esto NO nos devolvería los empleados con apellidos cómo "Sánchez". Para arreglar esta situacion simplemente indicamos que la comparación (LIKE) debería hacerse utilizado una intercalación especifica, una que no sea sensible a los acentos. Entonces:
SELECT Nombre, ApellidoPaterno, ApellidoMaterno FROM Empleados WHERE ApellidoPaterno LIKE '%' + @Valor +'%' COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI
Con esto solucionamos el problema y con el valor establecido a "San" obtendríamos entre los resultados a "Sánchez", "Santiago", etc.
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
sql busca texto, buscar palabras con tilde, buscar campos en sql, base datos sql, ms sql, mssql, palabras sin tildes, palabras sin acentos, texto sql, buscar en sql server, mayusculas sql, estas con acento, estas acento
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11
14/08/2024 @ 10:44:12