阅读量:0
是的,UNPIVOT 函数可以处理空值
例如,假设您有一个包含空值的表格:
CREATE TABLE sales_data ( product_id NUMBER, month1 NUMBER, month2 NUMBER, month3 NUMBER ); INSERT INTO sales_data VALUES (1, 100, NULL, 200); INSERT INTO sales_data VALUES (2, NULL, 300, NULL); INSERT INTO sales_data VALUES (3, 400, NULL, NULL); COMMIT;
使用 UNPIVOT 函数将其转换为更易于分析的格式:
SELECT * FROM sales_data UNPIVOT ( amount FOR month IN (month1 AS 'Month 1', month2 AS 'Month 2', month3 AS 'Month 3') );
结果集将显示原始表中的空值:
PRODUCT_ID MONTH AMOUNT ---------- ---------- ------- 1 Month 1 100 1 Month 3 200 2 Month 2 300 3 Month 1 400
请注意,UNPIVOT 操作不会删除或更改空值。如果需要过滤掉空值,可以在查询中添加 WHERE 子句来实现。