gpt4 book ai didi

mysql - mysql 中比较 NULL 值和空字符串

转载 作者:行者123 更新时间:2023-11-29 11:18:00 25 4
gpt4 key购买 nike

我有 2 个表,即 table_1 和 table_2。 table_1 具有以下详细信息

+------+--------+-------+--------+
| id | col_1 | col_2 | col_3 |
+------+--------+-------+--------+
| 100 | red | | yellow |
| 101 | | black | white |
| 102 | orange | black | white |
+------+--------+-------+--------+

表_2 具有以下详细信息

+-------+-------+--------+
| col_1 | col_2 | col_3 |
+-------+-------+--------+
| red | NULL | yellow |
| NULL | black | white |
+-------+-------+--------+

现在,我如何找到在 table_2 中包含条目的 table_1 的 id。在上面的示例中,我需要得到答案 100 和 101。

我尝试了对这两个表的几个连接查询,但问题是查询中的 NULL 和空字符串相等。有没有办法将它们等同起来?或者我可以使用 View 将table_1空字符串转换为NULL并比较 View 和table_2吗?

最佳答案

您可以使用COALESCE:

SELECT t1.*
FROM table_1 t1
JOIN table_2 t2
ON COALESCE(t1.col1, '') = COALESCE(t2.col1, '') AND
COALESCE(t1.col2, '') = COALESCE(t2.col2, '') AND
COALESCE(t1.col3, '') = COALESCE(t2.col3, '')

关于mysql - mysql 中比较 NULL 值和空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com