同僚からいくつかのコードを継承しましたが、一部のコードが一貫していないことに気付きました。たとえば、次の機能の違いは次のとおりです。
sum(case when (elephants = 0)then 1 else 0 end),
sum(case when (elephants = '0')then 1 else 0 end),
sum(case when (elephants IN (0))then 1 else 0 end),
sum(case when (elephants IN ('0'))then 1 else 0 end);
単一のqutoesまたはINと=を使用して単一の値を検索するときに機能的な違いがない場合、他にどのような理由が原因である可能性がありますか(ずさんなコード以外)?