如何为oracle中的特定输入选择不包含空值的列名?

Posted

技术标签:

【中文标题】如何为oracle中的特定输入选择不包含空值的列名?【英文标题】:how to select column name which contains not null value for particular input in oracle? 【发布时间】:2017-01-19 19:07:56 【问题描述】:

我只想在 oracle 中选择那些不包含空值的列

emp_id   name     sal     age     hire_date 
1        alex     5000    null     null
2        andy     null    24       null

例如,如果我将输入作为 emp_id=1,我应该将输出作为 emp_id、name、sal only

如果我将输入作为 emp_id=2,它应该只返回 emp_id、姓名、年龄。

我想在 oracle 中为这种情况编写查询。

【问题讨论】:

你会只输入emp_id吗?我必须假设它是独一无二的 是的,emp_id 将是唯一的。 好吧,据我所知,您不能仅在 SQL 中做到这一点。你想在 PL/SQL 中如何处理它? 是的,你能帮帮我吗,如何使用 pl//sql 编写逻辑? 您不能使用 SQL 语句执行此操作,因为 SELECT 语句具有固定数量的列。在PL/SQL中,可以查询表,返回一行,然后打印不是NULL的值。 【参考方案1】:

代码会是什么样子——这是 PL/SQL:

【讨论】:

感谢上述查询,我​​有一个疑问,我们是否可以选择给定输入的所有值不为空的列,而不是打印该值?

以上是关于如何为oracle中的特定输入选择不包含空值的列名?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取表中具有空值的行,并且没有任何关于任何列名的行?

Oracle:查找只有空值的列

查找名称包含固定列中特定值的列

如何为包含大量异常值的 ML 分类任务准备 IOT 数据?

如何为具有特定子子值的子项检索 Firebase DatabaseReference?

如何为 oracle 中的每个线程选择和阻止行?(PostgreSQL 有一个工作示例)