27 feb. 2013

Cannot resolve the collation conflict between “Modern_Spanish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation.

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 7
Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha