如何使Oracle SQL查询按列名排序

问题描述 投票:-2回答:1

如何编写SQL查询,使列按字母顺序从左到右排序?

如果我使用select alpha, bravo, charlie, delta from ..,那么列名将从左到右排序,因为我明确地将它们按顺序排列。如何在不明确写出所有列名的情况下执行此操作?

sql oracle
1个回答
0
投票

您可以在架构中借助此SQL创建视图,然后从该视图中进行选择

SELECT 'create or replace view tasks_alp as select ' 
       || Listagg(column_name, ',') 
            within GROUP (ORDER BY column_name) 
       ||' from tasks' 
FROM   user_tab_cols 
WHERE  table_name = 'TASKS' 
       AND column_name NOT LIKE 'SYS%$';

Sample输出是

    create or replace view tasks_alp as select ID,SEQ,STATE from tasks

然后,您可以使用选择列

 select * from tasks_alp;
© www.soinside.com 2019 - 2024. All rights reserved.