By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t(id,dx89,dx90,dx91,dx92) AS
SELECT 1, null, null, null, 'I63.9' FROM dual UNION ALL
SELECT 2, null,'I63.7', null, 'I63.9' FROM dual UNION ALL
SELECT 3,'I63.6','I63.7', null, 'I63.9' FROM dual UNION ALL
SELECT 4,'I63.6','I63.7','I63.8', 'I63.9' FROM dual UNION ALL
SELECT 5,'I63.6','I63.7','I63.8', null FROM dual;
5 rows affected
SELECT id,
TRIM(LEADING ';'
FROM dx89||NVL2(dx90,';'||dx90,dx90)||
NVL2(dx91,';'||dx91,dx91)||
NVL2(dx92,';'||dx92,dx92)) AS "Concatenated String"
FROM t
ID | Concatenated String |
---|---|
1 | I63.9 |
2 | I63.7;I63.9 |
3 | I63.6;I63.7;I63.9 |
4 | I63.6;I63.7;I63.8;I63.9 |
5 | I63.6;I63.7;I63.8 |