我尝试执行以下查询
SELECT Scania.GensetType, Scania.EngineType, Scania.Engine60Hz, Scania.Alternator, Scania.PriceEur
FROM Scania
LEFT JOIN NordhavnGenset
ON Scania.GensetType=NordhavnGenset.Alternator
LEFT JOIN Generator
ON Scania.Alternator=Generator.Alternator
LEFT JOIN Insulation
ON NordhavnGenset.Insulation=Insulation.Insulation
LEFT JOIN Klasse
ON NordhavnGenset.Class=Klasse.Class
LEFT JOIN AirInletFilter
ON NordhavnGenset.AirInletFilter=AirInletFilter.AirInletFilter
LEFT JOIN IP
ON NordhavnGenset.Ip=IP.IP
WHERE (NordhavnGenset.MaxKva='46') and (Generator.Alternator='ECP34-1LN/4') and (Insulation.Insulation='F (90ºC/45ºC)') and (Klasse.Klasse='KRS\r') and (AirInletFilter.AirInletFilter='No') and (IP.IP='IP23');
然而,看起来
Scania.Alternator=Generator.Alternator
数据类型分别为text UTF16和text UTF8。因此,它不能执行。我需要知道进行此转换时应该使用的语法
这是我在执行查询时得到的错误消息
#1267 - Illegal mix of collations (utf16_unicode_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
发布于 2012-06-20 03:58:54
可以使用CONVERT(.. USING ..)
函数将值从一种字符编码转换为另一种字符编码:
Scania.Alternator = CONVERT(Generator.Alternator USING ucs2)
或者,您可以研究列编码不同的原因,并考虑对所有内容使用utf8或ucs2……
https://stackoverflow.com/questions/11087755
复制相似问题