查询以获取 Oracle 10g 中下一行中的 % 符号数 = 字符串长度
Posted
技术标签:
【中文标题】查询以获取 Oracle 10g 中下一行中的 % 符号数 = 字符串长度【英文标题】:Query to get number of % sign = length of string in the next row in Oracle 10g 【发布时间】:2015-04-25 17:35:06 【问题描述】:Oracle10G 中是否有任何 SQL 查询可以提供以下示例中所需的输出。 查询应该首先打印名称,然后在第二行打印与字符串长度相等的“%”。
你能帮忙吗?
下面是表格列的示例
JIM
JOHN
MICHAEL
输出应该如下所示:
JIM
%%%
JOHN
%%%%
MICHAEL
%%%%%%%
【问题讨论】:
【参考方案1】:这通常被认为是表示逻辑的问题,而不是数据库逻辑的问题。但是,一种选择是使用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
SQL Fiddle Demo
【讨论】:
【参考方案2】:您可以查看此链接 http://www.club-oracle.com/articles/oracle-pivoting-row-to-column-conversion-techniques-sql-166/
讨论了很多选项,这会有所帮助
【讨论】:
以上是关于查询以获取 Oracle 10g 中下一行中的 % 符号数 = 字符串长度的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Oracle10g 中的同一查询中进行插入和删除?
Oracle:获取查询以始终准确返回一行,即使没有数据可找到
win7下安装oracle10g提示无法确定主机ip地址的解决方案