SQLServer: Error al comparar 2 campos con diferente collation (idioma)

Si estas comparando 2 tablas de diferentes bases de datos, y cada una tiene su propio idioma o collation como lo llama Microsoft (la vda no se bien que signifique pero es algo del encoding). y pues te sale este mensaje:

SQL EXecution Error.
Executed SQL statement: SELECT * FROM tabla…..
Error Source: .Net SqlCliente Data Provider
Error Message: Cannot resolve the collation conflict between
“Modern_Spanish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation.

LA solución es poner en tu WHERE el tipo de collation que quieres utilizar para que haga la conversión SQL Server, teniendo algo como esto:

SELECT * FROM tabla, tabla2 WHERE tabla1.campo1 COLLATE Modern_Spanish_CI_AS = tabla2.campo2 COLLATE Modern_Spanish_CI_AS

Bueno la consulta no es la mejor! tendria que esta en un INNER JOIN pero jeje, este no es el tema., y listo! la consulta ya funciona., no se si luego existan problemas con acentos o caracteres raros, pero para texto casi normal, no debería de fallar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>