如何编写SQL查询,使列按字母顺序从左到右排序?
如果我使用select alpha, bravo, charlie, delta from ..
,那么列名将从左到右排序,因为我明确地将它们按顺序排列。如何在不明确写出所有列名的情况下执行此操作?
您可以在架构中借助此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;