oracle - 在 unpivot 查询中查询 NULL 值

exc*_*007 2 oracle null unpivot

我想从 oracle DB 中获取列值为 的记录NULL。我unpivot也在我的查询中使用。NULL由于unpivot关键字,以某种方式没有选择值。你能帮我了解如何在使用unpivot.

编辑:

SELECT a.emp_id, a.emp_dept, b.emp_location
  FROM employee a,
       location b UNPIVOT (emp_id
                  FOR dummy_id
                  IN (emp_id AS 'EMP_ID', last_date AS 'LAST_DATE'))
 WHERE emp_id = 123 AND b.emp_loc_id = 'india' AND b.location IS NULL;
Run Code Online (Sandbox Code Playgroud)

MT0*_*MT0 5

使用UNPIVOT INCLUDE NULLS

SQL小提琴

Oracle 11g R2 架构设置

CREATE TABLE test ( id, a, b, c, d ) AS
SELECT 1, 1, 2, 3, 4 FROM DUAL UNION ALL
SELECT 2, 1, NULL, 3, NULL FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

查询 1

SELECT *
FROM   test
UNPIVOT INCLUDE NULLS ( value FOR name IN ( a, b, c, d ) )
Run Code Online (Sandbox Code Playgroud)

结果

| ID | NAME |  VALUE |
|----|------|--------|
|  1 |    A |      1 |
|  1 |    B |      2 |
|  1 |    C |      3 |
|  1 |    D |      4 |
|  2 |    A |      1 |
|  2 |    B | (null) |
|  2 |    C |      3 |
|  2 |    D | (null) |
Run Code Online (Sandbox Code Playgroud)