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()',並將其縮小到哪個字段導致你的問題? – gvee
在轉換日期的WHERE連接之後,您可能需要另一個'COLLATE DATABASE_DEFAULT':'Convert()= Convert(...)COLLATE DATABASE_DEFAULT'。整理+日期鑄造ouch :-) – StuartLC