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;

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