Oracle10G中是否有任何SQL查询可以提供所需的输出,如下面的示例所示。 查询应首先打印名称,在第二行中应打印"%"数字与字符串的长度相等。
你能帮忙吗?
以下是表格列的示例
JIM
JOHN
MICHAEL
输出应如下所示:
JIM
%%%
JOHN
%%%%
MICHAEL
%%%%%%%
答案 0 :(得分:0)
您可以查看此链接 http://www.club-oracle.com/articles/oracle-pivoting-row-to-column-conversion-techniques-sql-166/
讨论了很多选项,它会有所帮助
答案 1 :(得分:0)
这通常被认为是表示逻辑的问题,而不是数据库逻辑。但是,一种选择是使用union all
,然后使用length
和rpad
来获取正确数量的%
符号。您还需要建立行号以将订单保持在一起。
这是一种方法:
select name
from (
select name, rownum rn
from yourtable
union all
select rpad('%', length(name), '%') name, rownum + 1 rn
from yourtable ) t
order by rn, name