如何在以下查询中检查空值?维护不是问题。该查询将自动运行以检查是否已对数据库进行更改。
SELECT COUNT(*) FROM MSG_TYP_LKUP
WHERE ((MSG_TYP,NM,SUB_TYP,DIRECT,FORMAT) IN
(
('setr.005','Cancel to Fund',NULL,'OUT','SWIFT-XML'),
('setr.011','Cancel to Fund',NULL,'OUT','SWIFT-XML'),
('setr.013','Order to Fund',NULL,'OUT','SWIFT-XML'),
('setr.014','Cancel to Fund',NULL,'OUT','SWIFT-XML'),
('setr.016','Order Received','RECE','OUT','SWIFT-XML'),
('setr.016','Order Acknowledgement','STNP','OUT','SWIFT-XML')
)
);
最简单的方法可能是为插入一个新值NULL
。像这样的东西:
SELECT COUNT(*)
FROM MSG_TYP_LKUP
WHERE ((MSG_TYP, NM, COALESCE(SUB_TYP, '<NULL>'), DIRECT, FORMAT) IN
(
('setr.005','Cancel to Fund', '<NULL>','OUT','SWIFT-XML'),
('setr.011','Cancel to Fund', '<NULL>','OUT','SWIFT-XML'),
('setr.013','Order to Fund', '<NULL>','OUT','SWIFT-XML'),
('setr.014','Cancel to Fund', '<NULL>','OUT','SWIFT-XML'),
('setr.016','Order Received','RECE','OUT','SWIFT-XML'),
('setr.016','Order Acknowledgement','STNP','OUT','SWIFT-XML')
)
);
我对这种方法并不感到兴奋。但是Oracle没有NULL
-safe比较运算符,因此这可能是最简单的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句