0
У меня есть ВЫБРАТЬОшибки Неявного преобразования значения VARCHAR в VARCHAR
SELECT CONVERT(VARCHAR ,p.DataRegistrazione, 103) AS DataRegistrazione, ld.BarcodeFronte, ld.BarcodeRetro, ld.CodiceMSP, ld.CodiceFiscale, ld.Cognome, ld.Nome, ld.Sesso,
CONVERT(VARCHAR ,ld.DataNascita,103) AS DataNascita, Convert(VARCHAR ,ld.DataAccettazione,103) AS DataAccettazione , ld.RepartoAccettazione, ld.NumeroEpisodio, ld.CodiceEsenzione, ld.TipoDoc, ld.Attivo,
ld.FlagLavorato, CONVERT(VARCHAR ,ld.FlagSpunta) AS FlagSpunta, Convert(VARCHAR ,ld.DataSpunta,103) AS DataSpunta, ld.Batch,
CONVERT(VARCHAR ,p.Data,103) AS Data, CONVERT(VARCHAR ,p.Posizione) AS Posizione, CONVERT(VARCHAR ,p.IsDownloaded) AS IsDownloaded ,
CONVERT(VARCHAR ,CASE WHEN p.SystemField3 IS NULL THEN 0 ELSE 1 END) AS Caricato
FROM dbo.LavorazioniDES ld LEFT OUTER JOIN dbo.PSafed p ON ld.BarcodeFronte COLLATE DATABASE_DEFAULT = p.BarcodeFronte COLLATE DATABASE_DEFAULT
WHERE Convert(VARCHAR ,ld.DataSpunta,103) = convert(VARCHAR ,DATEADD(day,-1,GETDATE()),103) AND ld.FlagLavorato IN ('000','002') AND IsDeleted=0
Я получил эту ошибку, и я не знаю, что преобразующий я должен изменить ??
Implicit conversion of varchar value to varchar cannot be performed because the collation of the value is unresolved due to a collation conflict
Это не ответ на ваш вопрос, но никогда не используйте 'VARCHAR()' без длины аргумента. Он имеет значение по умолчанию, которое является «1» в некоторых контекстах. Код должен иметь нечто вроде 'varchar (255)' или любую вашу желаемую длину. –
Почему бы вам не удалить свой 'Convert()' s по одному и сузить его до какого поля (ов), вызывающего у вас проблемы? – gvee
Возможно, вам понадобится еще одна 'COLLATE DATABASE_DEFAULT' после присоединения WHERE к конвертированным датам:' Convert() = Convert (...) COLLATE DATABASE_DEFAULT'. Collation + date cast ouch :-) – StuartLC