在求最大值时,判断是否为空

想根据日期拼接生成流水号,在求该日订单最后4位最大值时,判断是否为空,如果为空的话将空值替换为0001,代码在下
Oracle显示:无效的关系运算符
应该怎么解决?
SELECT max((SUBSTR(ID,-4,4))) AS maxid
FROM customer c
where SUBSTR(id,0,8)=TO_CHAR(SYSDATE ,'yyyyddmm')
AND NVL(SUBSTR(ID,-4,4),0001)


SELECT MAX(SUBSTR(ID,-4,4)) AS maxid
FROM customer c
WHERE SUBSTR(id,0,8) = TO_CHAR(SYSDATE,'yyyyddmm')
  AND SUBSTR(ID,-4,4) IS NOT NULL
UNION ALL
SELECT '0000' AS maxid
FROM dual
WHERE NOT EXISTS (
    SELECT 1 FROM customer c
    WHERE SUBSTR(id,0,8) = TO_CHAR(SYSDATE,'yyyyddmm')
      AND SUBSTR(ID,-4,4) IS NOT NULL
)

请问博主的意思是这样吗?

AND NVL(SUBSTR(ID,-4,4),0001)这里不对呀
你这是要select的内容,不是查询条件啊
查询条件必须是bool值

0001是字符串吧,是不是要加引号