【发布时间】:2022-11-12 16:35:45
【问题描述】:
Oracle - 如何按列位置而不是列名选择和重新命名列? 经验值:
SELECT $1 AS NEW_COL_1, $2 AS NEW_COL_2
FROM
(SELECT 'x' AS COL_1, 'y' AS COL_2 FROM DUAL)
$1, $2 表示 col_1, col_2
我试过谷歌但还没有解决方案!
【问题讨论】:
-
你不能。 SQL 不支持该语法。
-
如果您预先知道列名,那么您可以在生成此查询的代码的帮助下生成新的列别名。您也可以使用
with tbl_renamed(col1_new, col2_new) as (select col1, col2 from tab) select * from tbl_renamed,但它没有多大意义,因为您必须指定with中的所有列。 db<>fiddle