我在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
的表格上设置为空。
他的行为是否有解释?提前致谢。
答案 0 :(得分:0)
MySql上的ISNULL与collation latin_swedish_ci和utf8_general_ci的工作方式不同
没有。当关于整理的单元格为空时,ISNULL
将起作用。
我使用latin_swedish_ci排序规则在DB和表上得到正确的结果,但在带有latin_swedish_ci的数据库和带有utf8_general_ci的表上设置为空。
可能默认值为空字符串,而不是NULL
,排序latin_swedish_ci