PostgreSQL不等于操作<>

场景:

select api_id, supplier_id, api_supplierfee, api_del
from t_ac_api
where api_del = 0;

在这里插入图片描述
查询:

select api.supplier_id
from t_ac_api api
where api.api_supplierfee <> ''and api.api_supplierfee is not nulland api_del = 0;

在这里插入图片描述
原因:

  • SQL中不等于条件使用!=和<>来表示
  • SQL比较两个表达式(比较运算符)

当比较非空表达式时,如果左边操作数的数值不等于右边的操作数,则结果为 TRUE;否则结果为 FALSE。

如果两个操作数中有一个或者两个都为 NULL,并且 SET ANSI_NULLS 被设置为 ON,则结果为 NULL。如果 SET ANSI_NULLS 被设置为 OFF,则当一个操作数为 NULL 时结果为 FALSE,当两个操作数都为 NULL 时结果为 TRUE。

所以用PostgreSQL操作符不等于<>时,还必须加上OR the_column IS NULL

验证:

select api.supplier_id,api.api_supplierfee
from t_ac_api api
where api.api_supplierfee <> ''OR api_supplierfee IS not NULLand api_del = 0;

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部