首页 > 解决方案 > postgres 可以决定 = 和 <> 之间的最佳选择

问题描述

我有两种方法来更新表的记录,但不确定哪种方法最好。

第一种使用 <> 运算符

 update daily_tender_sales 
set amount = jd.amount, 
amount_count = jd.amount_count, 
amount_cancel = jd.amount_cancel, 
amount_cancel_count = jd.amount_cancel_count
from tender_sales_Json_data jd
where _drop = false AND daily_tender_sales.id = jd.id
AND(daily_tender_sales.amount <> jd.amount 
    or daily_tender_sales.amount_count <> jd.amount_count 
    or daily_tender_sales.amount_cancel <> jd.amount_cancel 
    or daily_tender_sales.amount_cancel_count <> jd.amount_cancel_count)

第二种方式使用 = 运算符

 update daily_tender_sales 
set amount = jd.amount, 
amount_count = jd.amount_count, 
amount_cancel = jd.amount_cancel, 
amount_cancel_count = jd.amount_cancel_count
from tender_sales_Json_data jd
where _drop = false AND daily_tender_sales.id = jd.id
AND NOT(daily_tender_sales.amount = jd.amount 
    AND daily_tender_sales.amount_count = jd.amount_count 
    AND daily_tender_sales.amount_cancel = jd.amount_cancel 
    AND daily_tender_sales.amount_cancel_count = jd.amount_cancel_count)

标签: postgresql

解决方案


推荐阅读