`
usenrong
  • 浏览: 514944 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mysql 字符串=比较 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_gene

 
阅读更多

MySQL进行字符串比较时发生错误:

SELECT
	a.equ_no,
	b.fullCode
FROM
	equipment a,
	(
		SELECT
			t.*, getEquTypeFullCode (t.equType_id) AS fullCode
		FROM
			equ_type t
	) b
WHERE
	substring(a.equ_no, 1, 5) = b.fullCode

 错误如下: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

解决方法:将比较等式一边进行字符串转换,如改为“CONVERT(b.fullCode USING utf8) COLLATE utf8_unicode_ci

 

UPDATE template_messag_doctor a SET a.sended=1 where  EXISTS (select 1 from template_messag_exclude_openid b where a.openid = CONVERT(b.openid USING utf8) COLLATE utf8_unicode_ci  ) 

 

SELECT
	a.equ_no,
	b.fullCode
FROM
	equipment a,
	(
		SELECT
			t.*, getEquTypeFullCode (t.equType_id) AS fullCode
		FROM
			equ_type t
	) b
WHERE
	substring(a.equ_no, 1, 5) = CONVERT(b.fullCode USING utf8) COLLATE utf8_unicode_ci;

 

UPDATE template_messag_doctor a SET a.sended=1 where  EXISTS (select 1 from template_messag_exclude_openid b where a.openid = CONVERT(b.openid USING utf8) COLLATE utf8_unicode_ci  ) 

 

 

分享到:
评论

相关推荐

    Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结

    用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别。。 ci是 case insensitive, 即 “大小写不敏感”, a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. ...

    MySQL 编码utf8 与 utf8mb4 utf8mb4_unicode_ci 与 utf8mb4_general_ci

    排序规则`utf8mb4_unicode_ci`和`utf8mb4_general_ci`主要涉及字符比较和排序。`utf8mb4_unicode_ci`是基于Unicode标准的排序,对非拉丁字母(如中文、阿拉伯文等)的排序更准确,同时对表情符号等特殊字符也进行了...

    Mysql彻底解决中文乱码问题的方案(Illegal mix of collations for operation)

    MySQL中的中文乱码问题往往源于字符集设置不一致或不恰当,这会导致"Illegal mix of collations for operation"的错误。为了解决这个问题,我们需要理解MySQL中的几个关键字符集概念,并采取相应的配置措施。 1. **...

    freeradius 默认生成表转utf8

    Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '= 所以,自己把还没产生数据的表都删除,重新建立ut8表 此文件sql语句都是没产生数据的表,直接可以用py或者...

    关于mysql查询字符集不匹配问题的解决方法

    最近在工作中遇到一个问题,MySQL数据库建表的时候采用的是latin的字符集,而网页中查询的是utf-8,当输入页面输入中文,然后再数据库中查询的时候,就会报出 ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of ...

    MySQL中日期比较时遇到的编码问题解决办法

    错误信息"ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation ‘>’"显示了两个不兼容的字符集和校对集:`utf8_general_ci`和`latin1_...

    MySQL表排序规则不同错误问题分析

    MySQL多表join时报错如下:[Err]1267 – Illegal mix of collations(utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘= 就是说两个表的排序规则(COLLATION)不同,无法完成比较。...

    mpvue-learning-bookwxapp:学习mpvue

    学习心得使用mpvue学习完成一次完整的小程序开发,...0900_ai_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation \'=\''查阅之后明白是book表中的排序规则不一样在命令行中输入ALTER TABLE books CONVERT

    MySql表字符集问题[参考].pdf

    在本案例中,问题的核心在于两个表之间的字段字符集不兼容,导致了"非法的混合排序规则"(Illegal mix of collations)错误。这个错误意味着在执行等于操作('=')时,涉及到了具有不同字符集的列。 首先,我们来...

    mysql关联两张表时的编码问题及解决办法

    在MySQL数据库操作中,涉及到多表关联查询时,可能会遇到编码问题,这通常表现为“Illegal mix of collations”错误。这个错误是由于不同表或字段之间使用的字符集和排序规则不一致导致的。解决这个问题需要对数据库...

    illegal key size local_policy.jar US_export_policy.jar JDK6-8的替换文件

    在Java开发过程中,有时会遇到“illegal key size”的错误,这通常与Java加密算法的限制有关。这个错误信息表示尝试使用的密钥长度超过了Java默认允许的最大值,这涉及到Java Cryptography Extension (JCE)的政策...

    MySQL中DATE_FORMATE函数使用时的注意点

    例如,错误`ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation '>'`就是由于在比较DATE_FORMAT的结果和TIMEDIFF的结果时,它们的字符集和...

    python中open文本写入字符串时编码报错问题

    console报错信息:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u2022’ in position 7636: illegal multibyte sequence 字面上的意思是字符串中存在’gbk’无法编码的情况。原因分析要么是open...

    Sql Server中一个表2个字段关联同一个表(代码解决)

    代码如下:select a.man_id,man_name,d.sex_name,zw_name,c.money from man as a left join zw as b on a.zw_id=b.zw_id left join zw as c on a.man_id=c.man_id — 同时关联zw字段,通过表别名区别开 left ...

    华为2019校招笔试题之处理字符串(python版)

    ### 华为2019校招笔试题之处理字符串(python版) #### 题目解析 本题考察的是Python编程中对于字符串的操作能力,包括字符串的合法性判断、去重、循环左移以及排序等多个方面。下面将详细介绍题目的要求及解决方法...

    ORACLE存储过程判断非法字符

    如果找到非法字符,`p_is_illegal` 输出为 `TRUE`,表示输入字符串包含非法字符。 为了更全面地识别非法字符,可以使用`非法字符库.txt`文件,该文件可能包含一个由非法字符组成的列表。可以读取这个文件并将其内容...

Global site tag (gtag.js) - Google Analytics