oracle sql 如何区分和删除字段中的所有空值
oracle sql how to distinct and remove all null values in the fields
你好如何区分和删除字段中的所有空值。
这是我的原创 table。我正在使用 sqldeveloper 和 oracle。
EMPNO LASTNAME FIRSTNAME 05-MAY-15 06-MAY-15 07-MAY-15 08-MAY-15 09-MAY-15
---------- -------------------- -------------------- --------------------------- --------------------------- --------------------------- --------------------------- ---------------------------
00000113 REYESUE MARIE +000000000 08:04:00.000000
00000113 REYESUE MARIE +000000000 08:12:00.000000
00000113 REYESUE MARIE +000000000 08:04:00.000000
00000113 REYESUE MARIE +000000000 08:06:00.000000
00000113 REYESUE MARIE +000000000 08:25:00.000000
00000114 SANTOSY MICHAELA +000000000 08:03:00.000000
00000114 SANTOSY MICHAELA +000000000 08:04:00.000000
00000114 SANTOSY MICHAELA +000000000 08:08:00.000000
00000114 SANTOSY MICHAELA +000000000 08:05:00.000000
00000114 SANTOSY MICHAELA +000000000 08:09:00.000000
这就是我想要的输出
EMPNO LASTNAME FIRSTNAME 05-MAY-15 06-MAY-15 07-MAY-15 08-MAY-15 09-MAY-15
---------- -------------------- -------------------- --------------------------- --------------------------- --------------------------- --------------------------- ---------------------------
00000113 REYESUE MARIE +000000000 08:04:00.000000 +000000000 08:12:00.000000 +000000000 08:04:00.000000 +000000000 08:06:00.000000 +000000000 08:25:00.000000
00000114 SANTOSY MICHAELA +000000000 08:03:00.000000 +000000000 08:04:00.000000 +000000000 08:08:00.000000 +000000000 08:05:00.000000 +000000000 08:09:00.000000
您可以使用聚合函数,min
,例如:
select "EMPNO"
, "LASTNAME"
, "FIRSTNAME"
, min("05-MAY-15") as "05-MAY-15"
, min("06-MAY-15") as "06-MAY-15"
, min("07-MAY-15") as "07-MAY-15"
, min("08-MAY-15") as "08-MAY-15"
, min("09-MAY-15") as "09-MAY-15"
from tbl
group by "EMPNO"
, "LASTNAME"
, "FIRSTNAME"
你好如何区分和删除字段中的所有空值。 这是我的原创 table。我正在使用 sqldeveloper 和 oracle。
EMPNO LASTNAME FIRSTNAME 05-MAY-15 06-MAY-15 07-MAY-15 08-MAY-15 09-MAY-15
---------- -------------------- -------------------- --------------------------- --------------------------- --------------------------- --------------------------- ---------------------------
00000113 REYESUE MARIE +000000000 08:04:00.000000
00000113 REYESUE MARIE +000000000 08:12:00.000000
00000113 REYESUE MARIE +000000000 08:04:00.000000
00000113 REYESUE MARIE +000000000 08:06:00.000000
00000113 REYESUE MARIE +000000000 08:25:00.000000
00000114 SANTOSY MICHAELA +000000000 08:03:00.000000
00000114 SANTOSY MICHAELA +000000000 08:04:00.000000
00000114 SANTOSY MICHAELA +000000000 08:08:00.000000
00000114 SANTOSY MICHAELA +000000000 08:05:00.000000
00000114 SANTOSY MICHAELA +000000000 08:09:00.000000
这就是我想要的输出
EMPNO LASTNAME FIRSTNAME 05-MAY-15 06-MAY-15 07-MAY-15 08-MAY-15 09-MAY-15
---------- -------------------- -------------------- --------------------------- --------------------------- --------------------------- --------------------------- ---------------------------
00000113 REYESUE MARIE +000000000 08:04:00.000000 +000000000 08:12:00.000000 +000000000 08:04:00.000000 +000000000 08:06:00.000000 +000000000 08:25:00.000000
00000114 SANTOSY MICHAELA +000000000 08:03:00.000000 +000000000 08:04:00.000000 +000000000 08:08:00.000000 +000000000 08:05:00.000000 +000000000 08:09:00.000000
您可以使用聚合函数,min
,例如:
select "EMPNO"
, "LASTNAME"
, "FIRSTNAME"
, min("05-MAY-15") as "05-MAY-15"
, min("06-MAY-15") as "06-MAY-15"
, min("07-MAY-15") as "07-MAY-15"
, min("08-MAY-15") as "08-MAY-15"
, min("09-MAY-15") as "09-MAY-15"
from tbl
group by "EMPNO"
, "LASTNAME"
, "FIRSTNAME"