查询以获取 % 符号的数量 = Oracle 10g 中下一行中的字符串长度

Query to get number of % sign = length of string in the next row in Oracle 10g

Oracle10G 中是否有任何 SQL 查询可以按照以下示例中的要求提供所需的输出。 查询应首先打印名称,然后在第二行打印与字符串长度相等的“%”。

你能帮忙吗?

下面是 table 列的示例

JIM
JOHN
MICHAEL

输出应该如下所示:

JIM
%%%
JOHN
%%%%
MICHAEL
%%%%%%%

你可以检查这个link http://www.club-oracle.com/articles/oracle-pivoting-row-to-column-conversion-techniques-sql-166/

讨论了很多选项,这会有所帮助

这通常被认为是表示逻辑的问题,而不是数据库逻辑的问题。但是,一种选择是使用 union all,然后使用 lengthrpad 以获得正确数量的 % 符号。您还需要建立一个行号来保持顺序。

这是一种方法:

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