【发布时间】:2013-01-20 10:48:15
【问题描述】:
想象一下,如果我们有一张桌子:
我可以编写一个 SQL 查询来给我以下结果,我可以在其中获取不为空的列:
| col1 | val1 | val5 | ---------------------- |一个 | 1 | 1 |而不是使用单独的函数来做同样的事情?
【问题讨论】:
-
你当然可以:
select col1, val1, val5 from t where col1 = 'A'。严肃地说,应用于表格以获得结果的规则是什么?为什么没有返回行B和C? -
为什么需要这样做?您没有说明 RDBMS,但它可能需要一个查询来确定包含
NOT NULL的列,然后是一个单独的动态 SQL 查询来返回实际结果。 -
我只需
SELECT col1, val1, val2, val3, val4, val5 FROM Table并担心 DBNull 代码方面的问题。 -
@DanielHilgarth:谢谢回复,这里我只想选择不为空的列,可以用一个简单的 PLSQL 函数做同样的事情,但想知道是否有办法做它来自 SQL 查询本身。是的,查询将是 smthng lyk " SELECT
FROM table t WHERE t.col1 = 'A'