mysql - 列等价,包括 NULL 值

标签 mysql sql

是否有更好的方法来执行以下操作以获得等效性?

SELECT * FROM table
WHERE
  ((accepted_imdb_url = imdb_url) OR (imdb_url IS NULL and accepted_imdb_url IS NULL))

最佳答案

标准的 SQL 答案是使用 a IS DISTINCT FROM b/a IS NOT DISTINCT FROM b .但是,MySQL 不支持。 MySQL 确实支持它自己的发明来达到同样的效果: <=> 运营商。

SELECT *
FROM table
WHERE accepted_imdb_url <=> imdb_url

关于mysql - 列等价,包括 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28758947/

相关文章:

mysql - 根据另一张表从一张表中提取信息的查询

MySQL 子查询优化与共享子查询

sql - 检查表的列是否具有唯一约束

sql - 此 SQL 选择代码是否遵循良好实践?

php - MySQL 上的 LIMIT 关键字与准备好的语句

php - PHP 中的多个文件上传验证不起作用

mysql - SQL从两个表中的值中选择

sql - 如何检索刚插入数据库的记录的特定字段

MySQL Join 2 个表和 SUM 收入 - 将两个查询合并为一个

php - 使用 PHP 计算重复值并显示来自 mysql 表的每个不同值