gpt4 book ai didi

MySQL 查询执行正常,但使用 != NULL 时返回 (false) 空结果集?

转载 作者:可可西里 更新时间:2023-11-01 07:32:41 25 4
gpt4 key购买 nike

我有以下结果集,我正在尝试向下钻取

+----+---------+---------------+---------------------+----------------------+---------------+-----------+------------------+------------------+
| id | auth_id | trusts_number | buy_sell_actions_id | corporate_actions_id | fx_actions_id | submitted | created_at | updated_at |
+----+---------+---------------+---------------------+----------------------+---------------+-----------+------------------+------------------+
| 2 | 6 | N100723 | 2 | NULL | NULL | 0 | 08/05/2015 11:30 | 08/05/2015 15:32 |
| 5 | 6 | N100723 | NULL | NULL | 1 | 0 | 08/05/2015 15:10 | 08/05/2015 15:10 |
| 6 | 6 | N100723 | NULL | NULL | 2 | 1 | 08/05/2015 15:12 | 08/05/2015 15:41 |
+----+---------+---------------+---------------------+----------------------+---------------+-----------+------------------+------------------+

这个结果集是用查询生成的

SELECT * FROM actions WHERE auth_id = 6 AND trusts_number = 'N100723'

我还想删除 fx_actions 为 NULL 的任何字段,因此我将查询更改为

SELECT * FROM actions WHERE auth_id = 6 AND trusts_number = 'N100723' AND fx_actions_id != NULL

然而,这将返回一个空结果集。我以前从未在 MySQL 中使用过“负”查询参数,所以我不确定它们是否应该采用不同的语法或什么?

如有任何帮助,我们将不胜感激。

最佳答案

普通比较运算符不能很好地处理 NULLSomething = NULLSomething != NULL 都将返回“unknown”,这会导致结果中省略该行。使用特殊运算符 IS NULLIS NOT NULL 代替:

SELECT * FROM actions 
WHERE auth_id = 6
AND trusts_number = 'N100723'
AND fx_actions_id IS NOT NULL

Wikipedia on NULL and its background

关于MySQL 查询执行正常,但使用 != NULL 时返回 (false) 空结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30164410/

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