如果我不知道列的名称,是否可以使用索引或列位置等选择第二列的值?
Select col(2) FROM (
Select 'a', 'b',' c', 'd' from dual
)
答案 0 :(得分:5)
有可能吗?当然。您可以编写一个PL / SQL块,使用dbms_sql
使用针对dual
的实际查询打开游标,描述结果,将变量绑定到您找到第二列的任何内容,从中获取光标,然后循环。这将是一个非常复杂的,通常相当痛苦的过程,但它可以做到。
SQL语言没有定义在静态SQL语句中执行此操作的方法,并且Oracle不提供允许此操作的扩展。但是,如果你知道你想要第二列但不知道该列代表什么,我会非常担心你试图解决的根本问题。在关系数据库中,这不是很有意义的东西。
答案 1 :(得分:3)
SELECT ORDINAL_POSITION, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'dual'
不确定这是否是您所需要的。
答案 2 :(得分:1)
如果您不知道这个名字,请给它一个好名字;)。
Select b FROM (
Select 'a', 'b' as b, 'c', 'd' from dual
)
答案 3 :(得分:0)
如果您知道子查询中的列数,则有可能:
web apps : az webapp list --subscription subscriptionId
function apps: az functionapp list --subscription subscriptionId
logic apps: az logic workflow list --subscription subscriptionId
有限制: