我在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
的表上设置为空。他的行为有解释吗?提前致谢。
最佳答案
MySql上的ISNULL是否与排序规则latin_swedish_ci和utf8_general_ci不同
它不是。当关于排序规则的单元格为空时,ISNULL
将起作用。
我在使用latin_swedish_ci排序规则的数据库和表上都得到了正确的结果,但是在使用latin_swedish_ci的数据库和表中使用utf8_general_ci的表上设置了空。
也许默认值为空字符串,而不是排序规则为NULL
的latin_swedish_ci
关于mysql - MySql上的ISNULL是否与排序规则latin_swedish_ci和utf8_general_ci不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42767169/