sql - Oracle SQL - 在不知道列名的情况下选择列

标签 sql oracle

如果我不知道列的名称,是否可以使用索引或列位置等选择第二列的值?

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/

相关文章:

sql - Oracle SQL 将 HEX 转换为字符

sql - T-SQL 在给定日期范围内的同一天查找来自同一客户的多个订单

sql - SQL 中违反了唯一约束

php - 将可变数量的字段插入数据库MYSQLI

c# - 无限日期时间到 SqlDateTime

sql - Postgres 创建表错误

Oracle 空字符串

java - 是否有 Oracle Coherence Java stub ?

sql - 在 oracle sql 中仅插入 1 行的更快方法

oracle - 有人可以解释一下mysql和Oracle之间的数据库概念区别吗?