Sql 在oracle中使用select query打印特定的星形图案

Sql 在oracle中使用select query打印特定的星形图案,sql,oracle11g,Sql,Oracle11g,我想打印 * ** *** **** 并使用oracle中的select query继续这样做 select substr('*****',1,level) from dual connect by level<=5 如果我写上面的代码,它会打印出来,但这取决于我在代码中输入的星星数 select substr('*****',1,level) from dual connect by level<=9 就像在这种情况下,它不会工作,只会在5颗星后停止。有人能帮我吗?您可以使用

我想打印

*
**
***
****
并使用oracle中的select query继续这样做

select substr('*****',1,level) from dual connect by level<=5
如果我写上面的代码,它会打印出来,但这取决于我在代码中输入的星星数

select substr('*****',1,level) from dual connect by level<=9
就像在这种情况下,它不会工作,只会在5颗星后停止。有人能帮我吗?

您可以使用lpad,级别为“*”

例如:

通过这种方式,启动次数取决于级别值,您可以使用lpad级别“*”

例如:


这样,启动次数取决于将起作用的电平值

yes。我们可以使用子字符串吗?不管怎样,谢谢。你是什么意思?我们可以用子字符串吗。。更好地解释我想说的是我试图用substring函数编写查询的方式,可以这样做吗。。但是,您应该根据实际的层次结构值使用connect by。。尝试添加真实的表架构和数据示例。。将父项连接到chidl..并使用伪列使用lpda或substring..@Be1ng_Kr1Sh创建一个dinamic字符串-仅当您有一个较长的固定星号字符串,即9或更多时;或者用anlpad调用替换固定字符串来生成字符串,但是子字符串是没有意义的。但是substr本身不能添加额外的字符。是的,这会起作用。我们可以使用子字符串吗?不管怎样,谢谢。你是什么意思?我们可以用子字符串吗。。更好地解释我想说的是我试图用substring函数编写查询的方式,可以这样做吗。。但是,您应该根据实际的层次结构值使用connect by。。尝试添加真实的表架构和数据示例。。将父项连接到chidl..并使用伪列使用lpda或substring..@Be1ng_Kr1Sh创建一个dinamic字符串-仅当您有一个较长的固定星号字符串,即9或更多时;或者用anlpad调用替换固定字符串来生成字符串,但是子字符串是没有意义的。但是substr本身不能添加额外的字符。
select lpad('', level, '*') 
from your_table
select lpad('', level, '*')  from dual connect by level<=5