sql-server – 无法解决相等操作中的“SQL_Latin1_General_Pref_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突

前端之家收集整理的这篇文章主要介绍了sql-server – 无法解决相等操作中的“SQL_Latin1_General_Pref_CP1_CI_AS”和“Latin1_General_CI_AS”之间的排序规则冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下查询
SELECT 
DISTINCT(po.SONumber) AS [Sales Order No_],po.PONumber AS PoNo,ph.[Buy-from Vendor No_] AS VendorNo,ph.[Pay-to Name],ph.[Document Date],'Ship-to Name' = 
 CASE WHEN sh.[Ship-to Name] > '' THEN sh.[Ship-to Name] ELSE sih.[Ship-to Name] END,'Ship-to Post Code' = CASE WHEN sh.[Ship-to Post Code] > '' THEN sh.[Ship-to Post Code] ELSE sih.[Ship-to Post Code] END,sh.DeliveryPhoneNo AS [Delivery Phone No],'CustomerPriceGroup' = CASE WHEN sh.[Customer Price Group] > '' THEN sh.[Customer Price Group] ELSE sih.[Customer Price Group] END,'DeliveryComment' = CASE WHEN sh.[Delivery Comment] > '' THEN sh.[Delivery Comment] ELSE sih.[Delivery Comment] END,'GiftMessage' = CASE WHEN sh.[GiftMessage] > '' THEN sh.[GiftMessage] ELSE sih.[GiftMessage] END,si.Shipped,si.ShippedDate,si.CourierID 

 FROM 
 NavisionMeta.dbo.PoToSo po,[Crocus Live$Purchase Header] ph,[Crocus Live$Purchase Line] pl,[Crocus Live$Sales Header] sh,[Crocus Live$Sales Invoice Header] sih,NavisionMeta.dbo.SupplierInput si 

 WHERE po.PONumber = ph.[No_] AND 
 ph.[No_] = pl.[Document No_] AND 
 po.SONumber *= sh.No_ AND 
 po.SONumber *= sih.[Order No_] AND 
 po.PONumber *= si.PONo AND 
 ph.[Document Date] BETWEEN '01-01-10' AND '31-01-10' 

 ORDER BY po.PONumber DESC

当它执行时,我得到以下错误

Cannot resolve the collation conflict
between
sql_Latin1_General_Pref_CP1_CI_AS”
and “Latin1_General_CI_AS” in the
equal to operation.

NavisionMeta数据库的归类是sql_Latin1_General_Pref_CP1_CI_AS

我可以做些什么来解决这个问题?

解决方法

我认为你真的应该让你所有的列都有相同的归类.我使用这个工具的数据库,我需要将所有varchar列设置为相同的排序规则.
http://www.codeproject.com/KB/database/ChangeCollation.aspx
原文链接:https://www.f2er.com/mssql/82791.html

猜你在找的MsSQL相关文章