如果我不知道列的名称,是否可以使用索引或列位置等选择第二列的值?
Select col(2) FROM (
Select 'a', 'b',' c', 'd' from dual
)
最佳答案
是否可以?当然。您可以编写一个使用 dbms_sql
的 PL/SQL block 。使用针对 dual
的实际查询打开游标,描述结果,将变量绑定(bind)到您找到的第二列,从游标中获取,然后循环。这将是一个非常复杂且通常相当痛苦的过程,但这是可以做到的。
SQL 语言没有定义在静态 SQL 语句中执行此操作的方法,Oracle 没有提供允许此操作的扩展。但是,如果您以某种方式知道您想要第二列但不知道该列代表什么,我会更关心您要解决的潜在问题。这在关系数据库中没有多大意义。
关于sql - Oracle SQL - 在不知道列名的情况下选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22518298/