我想计算所有来自mysql表的行,其中“ where子句”中的三列中有两个可能的值。即(NULL
)和OR 0000-00-00
。为此,我编写了以下sql,它返回的结果不确定我是否是理想的sql查询。如果我做错了,请指导我。
SELECT
COUNT(sno) AS totalCases
FROM
myTable
WHERE (dateOfTransferInstituion IS NULL OR dateOfTransferInstituion = '0000-00-00')
AND
(date_remanded IS NULL OR date_remanded = '0000-00-00')
AND
(date_restored IS NULL OR date_restored = '0000-00-00')
提前致谢。
我已经阅读了您的任务,并且我认为您的查询是正确的,但是可以更优雅地做到这一点,如下所示:
SELECT
COUNT(sno) AS totalCases
FROM
myTable
WHERE IFNULL(dateOfTransferInstituion,'0000-00-00') = '0000-00-00'
AND
IFNULL(date_remanded,'0000-00-00') = '0000-00-00'
AND
IFNULL(date_restored,'0000-00-00') = '0000-00-00'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句