У меня есть блок PL/SQL, который запрашивает из пустой таблицы. Мне было интересно, есть ли способ конвертировать пустой результат в 0? или, по крайней мере, нам функция ifnull для этого запроса?PLSQL Block, можно ли это сделать ifnull?
Вот код
declare
p_entity_id varchar2(14) := 10100033904;
date_format varchar2(10) := 'MM/DD/YYYY';
v_mapcount integer;
v_compcount integer;
v_qa_comp_date varchar2(12) := 'MM/DD/YYYY';
begin
SELECT SUM(total),SUM(complete),TO_CHAR(MAX(compDate),date_format) INTO v_mapCount,v_CompCount,v_qa_comp_date FROM
(
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_boundary WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
UNION ALL
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_feature WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
UNION ALL
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_ADDRESS WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
UNION ALL
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_CORRECTION WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
UNION ALL
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_point_landmark WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
UNION ALL
SELECT COUNT(barcode) as total, SUM(DECODE(qa_comp,NULL,0,1)) complete ,MAX(qa_comp) compDate from bbsp_area_landmark WHERE upper(cycle1) = 'Y' AND entity_id = p_entity_id AND DELETED_DATE IS NULL
) ;
end;
которые, в частности, вы говорите? – trincot
Возможный дубликат [эквивалент оракула mysql ifnull (без случая, нет, если)] (http://stackoverflow.com/questions/31409990/oracle-equivalent-of-mysql-ifnull-no-case-no-if) – trincot
если я могу NVL() это весь оператор, как бы я это сделал? –