MySql上的ISNULL与collat​​ion latin_swedish_ci和utf8_general_ci的工作方式不同

时间:2017-03-13 15:17:37

标签: mysql mariadb collation

我在MariaDB上有两个数据库,InnoDB作为引擎,两个数据库都有latin_swedish_ci作为排序规则,但有一个latin_swedish_ci作为表格排序,其他utf8_general_ci作为表排序规则,当我使用以下查询执行左排除数据库连接:

SELECT `ct`.`name` 
FROM `csv_temp` as `ct` 
left join `trans_recs` as `tr` on `ct`.`name` = `tr`.`name` 
where `tr`.`name` is null and `ct`.`fk_project_id` = 1

我在数据库和表格上获得了latin_swedish_ci整理的正确结果,但是在latin_swedish_ci的数据库和带utf8_general_ci的表格上设置为空。

他的行为是否有解释?提前致谢。

1 个答案:

答案 0 :(得分:0)

  

MySql上的ISNULL与collat​​ion latin_swedish_ci和utf8_general_ci的工作方式不同

没有。当关于整理的单元格为空时,ISNULL将起作用。

  

我使用latin_swedish_ci排序规则在DB和表上得到正确的结果,但在带有latin_swedish_ci的数据库和带有utf8_general_ci的表上设置为空。

可能默认值为空字符串,而不是NULL,排序latin_swedish_ci