sirve que para modern_spanish_ci_as descargar caracteristicas sql-server-2005 tsql collation

sql-server-2005 - que - sql server descargar



¿Cómo realizo una comparación insensible al acento(e con è, é, ê yë) en SQL Server? (4)

Estoy buscando comparar dos varcars en SQL, uno sería algo así como Cafe y el otro Café hay una forma en SQL que permitirá comparar los dos valores. 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?


Al aplicar una collation distinción específica 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 para "Insensible a acentos".


Coerce a una collation insensible a los acentos

También deberá asegurarse de que ambos lados tengan la misma intercalación para evitar errores o más coerciones si desea comparar con una variable de tabla o columna varchar de tabla temporal

y porque el valor constante tendrá la recopilación de la base de datos Actualización: solo para las variables locales, no para las constantes no, ni siquiera entonces

SELECT * FROM Venue WHERE Name COLLATE Latin1_general_CI_AI Like ''%cafe%'' COLLATE Latin1_general_CI_AI


La búsqueda sensible a los acentos y acentuada no se puede usar mediante Latin1_general_CI_AI

Aquí AI es para Insensible a los acentos y AS para Acentuado sensible, es decir, Café y Café son lo mismo si no es sensible a los acentos.

En la consulta siguiente, Latin1_general_CI_AI se puede desglosar en las siguientes partes.

  • latin1 hace que el servidor trate cadenas usando charset latin 1, básicamente ascii.

  • CI especifica las mayúsculas y minúsculas, por lo que "ABC" equivale 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


si ''A'' COLLATE SQL_Latin1_General_CP1_CS_AS = ''a'' COLLATE SQL_Latin1_General_CP1_CS_AS SELECCIONE N''Sí ''ELSE SELECT N''No''