Cómo resolver el problema "cannot resolve the collation conflict between “Modern_Spanish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation."
En el artículo de hoy vamos a ver cómo resolver el error Cannot resolve the collation conflict between “Modern_Spanish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation que aparece cuando se intenta comparar campos de texto que tienen intercalaciones diferentes.
Existen diferentes soluciones al problema aunque la más sencilla y rápida es obligar a utilizar la misma intercalación cuando realizamos la consulta, me explico con un ejemplo.
Base de datos 1: Panel_Control con la intercalación SQL_Latin1_General_CP1_CI_AS
Base de datos 2: Ventas con la intercalación Modern_Spanish_CI_AS
Consulta a ejecutar: "Seleccionar los artículos de Panel de Control que no estén en Ventas".
SELECT *
FROM Panel_Control.dbo.Articulos
WHERE CodArticulo NOT IN (SELECT CodArticulo FROM Ventas.dbo.Articulos)
Problema: Los campos CodArticulo son VARCHAR(20) y al tener las bases de datos diferentes intercalaciones da un error.
SOLUCIÓN: Forzar a utilizar la misma intercalación al ejecutarse la consulta.
SELECT *
FROM Panel_Control.dbo.Articulos
WHERE CodArticulo COLLATE Modern_Spanish_CI_AS NOT IN (SELECT CodArticulo FROM Ventas.dbo.Articulos)
Explicación: Al incluir la sentencia COLLATE Modern_Spanish_CI_AS le indicamos al Servidor SQL que queremos forzar que el campo CodArticulo de Panel_Control tenga la intercalación Modern_Spanish_CI_AS y pueda así compararse con el campo CodArticulo de Ventas.
Si te ha gustado el artículo sobre Cannot resolve the collation conflict between “Modern_Spanish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation. puedes colaborar con este Blog visitando a nuestros patrocinadores, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.
ARTÍCULOS QUE TE PUEDEN INTERESAR
Cómo guardar la configuración de una red wifi en Windows 7Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha