MySql上的ISNULL与排序规则latin_swedish_ci和utf8_general_ci的工作方式是否不同
我在MariaDB上有两个数据库,InnoDB作为引擎,两个数据库都有MySql上的ISNULL与排序规则latin_swedish_ci和utf8_general_ci的工作方式是否不同,mysql,mariadb,collation,Mysql,Mariadb,Collation,我在MariaDB上有两个数据库,InnoDB作为引擎,两个数据库都有latin\u swedish\u ci作为排序规则,但一个数据库有latin\u swedish\u ci作为表排序规则,另一个数据库有utf8\u general\u ci作为表排序规则,当我在数据库上执行以下查询时: SELECT `ct`.`name` FROM `csv_temp` as `ct` left join `trans_recs` as `tr` on `ct`.`name` = `tr`.`name
latin\u swedish\u ci
作为排序规则,但一个数据库有latin\u swedish\u ci
作为表排序规则,另一个数据库有utf8\u general\u 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
我使用拉丁语瑞典语ci
排序在DB和table上得到了正确的结果,但是使用拉丁语瑞典语ci
和utf8\u general\u ci
在DB和table上得到了空集
他的行为有什么解释吗。提前谢谢
MySql上的ISNULL与排序规则latin_swedish_ci和utf8_general_ci的工作方式是否不同
事实并非如此ISNULL
将在单元格为空时工作
我在DB和table上都得到了正确的结果,都是使用拉丁语瑞典语ci排序规则,但在DB上使用拉丁语瑞典语ci和table上使用utf8通用词ci得到了空集
默认值可能是空字符串,而不是排序规则为拉丁文瑞典文ci的空字符串。如果列为NULL,则它没有内容。所以no-isnull是排序规则independend@juergend谢谢你的信息,非常感谢。但我关心的是,为什么查询在DB和table上都使用拉丁语瑞典语ci排序,而在DB和table上都使用拉丁语瑞典语ci排序,而在table上使用空集,而在table上使用utf8\U general\ci排序。所以,
NULL
是一种误导?请为两个表中的每个表提供SHOW CREATE TABLE
。这也许能回答你的问题。如果没有,我们将有更多的合作。