簡體   English   中英

mysql的操作“ concat”的排序規則的非法混合

[英]Illegal mix of collations for operation 'concat' from mysql

來自mysql的'concat'操作的非法排序規則混合。

select (select case when e._type='Call Log' then concat(d.firstname,' ',d.lastname,' ','Scheduled a Call On',' ',
e.logdate)
 when e._type='Meeting' then concat(d.firstname,' ',d.lastname,' ','Scheduled a Meeting  On', ' ',
 e.logdate) when e._type='Mail Log' then concat(d.firstname,' ',d.lastname,' ','Scheduled Mail On',' ',
 e.logdate) end  from schedulelog e where e.log_gid=a.log_gid) from log a
inner join employee b on a.log_by=b.user_gid
 inner join user d on a.log_by=d.user_gid;

這是我的創建表查詢

 `CREATE TABLE  `schedulelog` ( `log_gid` varchar(64) NOT NULL,  `bank_gid` varchar(64) default NULL,`logdate` date default NULL,      `_type` varchar(32) default NULL,`log_gid` varchar(64) default NULL,
  `status_flag` varchar(1) default NULL, `schedule_time` varchar(32) default NULL,`followup_type` varchar(64) default NULL,`product_gid` varchar(64) default NULL, `assign_to` varchar(64) default NULL,
  PRIMARY KEY  (`log_gid`), KEY `Index_2` (`bank_gid`),    
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AVG_ROW_LENGTH=2730;`

請使用GROUP_CONCAT而不是concat

我認為這會解決您的問題

在您的情況下,您嘗試對noneString類型(Date / Time / Int)字段使用字符串類型(varchar / text)集合,並且會出現此錯誤。 您要做的就是查看您在條件中使用這些noneString字段的位置,並像這樣放置它們。

WHERE (CONVERT(`Here coms the name of the column` USING utf8)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM