查询以获取 % 符号的数量 = 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
,然后使用 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
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
,然后使用 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