我有一个问题,我想格式化所有列在输出我的选择不是一个接一个
例如,我想这样做:
这是我的正常输出:
name1 name 2 salary1 salary2 salary3 finances manager senior_manager
---- ------ ------- ------ ------- -------- ------- -------------
3000 400000 8000000 90 99999 500000 4000000 900000000000
1000 100000 9000000 90 100000 900000 1000000 800000000000
4000 300000 7000000 90 99999 400200 1000000 500000000000
这就是我想做的:
name1 name 2 salary1 salary2 salary3 finances manager employee4
---- ------ ------- ------ ------- -------- ------- -------------
3,000 40,0000 8,000,000 90 99,999 500,000 4,000,000 9,000
1,000 10,0000 9,000,000 90 100,000 900,000 1,000,000 8,000
4,000 30,0000 7,000,000 90 99,999 400,200 1,000,000 5,000
所以解决方案是;
select name1, name2 , salary1, salary2, salary3, finances, manager, employee4 from database_table
col name1 format 999,999.99
col name2 format 999,999.99
col salary1 format 999,999.99
col Salary2 format 999,999.99
col Salary3 format 999,999.99
col Finances format 999,999.99
col Manager format 999,999.99
col Emlpoyee4 format 999,999.99
order by 1;
我想做的是:col * format 999,999.99
还是col all_columns format 999,999.99
?
我的问题是,如何选择所有列,而不是一个接一个?
2条答案
按热度按时间oiopk7p51#
当您使用SQL*Plus时,是的-有一种方法可以做到这一点-使用
SET NUMFORMAT
。例如:
之前:
设置:
后:
mefy6pfw2#
您可以使用to_char来实现这一点
如果你不想要结果中的最后一个dor,你可以删除它。
fiddle