¿Cómo realizo una comparación insensible al acento (e con è, é, ê y ë) en SQL Server?
Estoy buscando comparar dos varchars en SQL, uno sería algo así como Cafe
y el otro Café
hay una manera en SQL que permitirá que los dos valores se comparen. Por ejemplo:
SELECT *
FROM Venue
WHERE Name Like '%cafe%'
Entonces, si hay un lugar con el nombre Big Bobs Café Extraordinaire
se incluiría en el conjunto de resultados?
4 answers
Coaccionar a un acento insensible cotejo
También deberá asegurarse de que ambos lados tengan la misma intercalación para evitar errores o coerciones adicionales si desea comparar con una variable de tabla o una columna de varchar de tabla temporal
y porque el valor constante tendrá la intercalación de la actualización de la base de datos: solo para variables locales, no para constantes no, ni siquiera entonces
SELECT *
FROM Venue
WHERE
Name COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-26 06:47:05
Aplicando un acento específico insensible intercalación a su selección:
SELECT *
FROM Venue
WHERE Name COLLATE Latin1_General_CI_AI Like '%cafe%' COLLATE Latin1_General_CI_AI
El CI significa "Insensible a mayúsculas y minúsculas" y AI significa "Insensible al acento".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-15 05:13:48
La búsqueda sensible al Acento y la insensible al Acento se pueden realizar usando Latin1_general_CI_AI
Aquí {[3] } es para Insensible al Acento y AS
para Sensible al Acento
es decir, Café y Café son lo mismo si son insensibles al acento.
En la siguiente consulta Latin1_general_CI_AI
se puede dividir en las siguientes partes.
latin1
hace que el servidor trate cadenas usando charset latin 1, básicamente ascii.CI especifica que no distingue entre mayúsculas y minúsculas, por lo que " ABC" igual a "abc".
- AI especifica insensible al acento,por lo que 'ü' es igual a 'u'.
Su consulta debe ser la siguiente:
SELECT * FROM Venue WHERE Name COLLATE Latin1_general_CI_AI Like '%cafe%' COLLATE Latin1_general_CI_AI
El resultado esperado es el siguiente:
Id name
1 Café
2 Cafe
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-22 05:12:00
If ' A ' COLLATE SQL_Latin1_General_CP1_CS_AS= 'a' COLLATE SQL_Latin1_General_CP1_CS_AS SELECCIONE N'Yes' ELSE SELECCIONE N'No '
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-01 07:03:21