使用oracle中的select查询打印特定的星形图案

Be1*_*1Sh 1 sql oracle11g

我想要打印

*
**
***
****
Run Code Online (Sandbox Code Playgroud)

并使用oracle中的select查询继续这样.

select substr('*****',1,level) from dual connect by level<=5
Run Code Online (Sandbox Code Playgroud)

如果我写上面的代码,它将打印,但它将取决于我在我的代码中放置的星数.

select substr('*****',1,level) from dual connect by level<=9
Run Code Online (Sandbox Code Playgroud)

就像在这种情况下它将无法工作,只会在5星后停止.谁能帮我?

sca*_*dge 5

你可以用一个 lpad('', level, '*')

select lpad('', level, '*') 
from your_table
Run Code Online (Sandbox Code Playgroud)

例如:

select lpad('', level, '*')  from dual connect by level<=5
Run Code Online (Sandbox Code Playgroud)

以这种方式,开始的数量取决于级别值