Error de SQL Server " Conversión implícita de porque la intercalación del valor no está resuelta debido a un conflicto de intercalación."


Obtengo este error al desarrollar el procedimiento almacenado

La conversión implícita del valor de varchar a varchar no se puede realizar porque la intercalación del valor no se ha resuelto debido a un conflicto de intercalación.

La declaración es así

Select City COLLATE DATABASE_DEFAULT AS Place, State, Country FROM DEPT1
UNION ALL
Select '' AS Place, 'Arizona' As State, Country FROM DEPT2

Pero Si Si hacer esto también dar mismo error

 Select City COLLATE DATABASE_DEFAULT AS Place, State, Country FROM DEPT1
 UNION ALL
 Select '' COLLATE DATABASE_DEFAULT AS Place, 'Arizona' As State, Country FROM DEPT2

En realidad este código está escrito por alguien más y solo estoy editando el código, no sé por qué agregó COLLATE DATABASE_DEFAULT pero Si también lo elimino da el mismo error

La conversión implícita del valor de varchar a varchar no se puede realizar porque la intercalación del valor no se ha resuelto debido a un conflicto de intercalación.

Author: p.campbell, 2010-10-05

2 answers

Lo más probable es que necesites COTEJAR en ambos lugares.

Select City COLLATE DATABASE_DEFAULT AS Place, State, Country FROM DEPT1
UNION ALL
Select '' COLLATE DATABASE_DEFAULT AS Place, 'Arizona' As State, Country FROM DEPT2

Editar: Es posible que lo necesite en cada cadena si lo obtiene en un lugar

Select
    City COLLATE DATABASE_DEFAULT AS Place,
    State COLLATE DATABASE_DEFAULT AS State,
    Country COLLATE DATABASE_DEFAULT AS Country
FROM DEPT1
UNION ALL
Select
    '' COLLATE DATABASE_DEFAULT,
    'Arizona' COLLATE DATABASE_DEFAULT ,
    Country COLLATE DATABASE_DEFAULT
FROM DEPT2

Edit2:

Sucede porque la intercalación de columnas es probablemente diferente a la intercalación de la base de datos. Así que "City" tiene una intercalación pero las constantes de cadena tienen otra.

 50
Author: gbn,
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
2010-10-05 08:16:09

ALTERA LOS DEPARTAMENTOS DE LAS TABLAS 1 y 2 para que las definiciones resultantes de las tablas no contengan ningún COTEJO

 1
Author: Gennady Vanin Геннадий Ванин,
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
2010-10-05 20:04:07