如何编写Oracle通用SQL语句打印逐行递减星号图案
Oracle SQL 打印倒三角星号图案实现方法
直接用Oracle自带的层级查询搭配字符串填充函数就能实现,无需额外建表,写法支持灵活调整图案大小:
- 实现思路:用层级查询生成和图案行数一致的连续序号,逐行计算当前行要输出的星号个数,通过填充函数生成对应长度的星号串
- 针对需求里5行倒三角的SQL代码如下:
SELECT RPAD('*', 6 - LEVEL, '*') AS star_pattern FROM dual CONNECT BY LEVEL <= 5;
执行上述语句的输出结果和需求完全匹配:
***** **** *** ** *
如果需要调整图案总行数,只需要修改两个位置的参数即可:
- 把
CONNECT BY LEVEL <=后的数字改成你需要的总行数 - 把
RPAD函数参数里的6替换为「目标总行数 + 1」
内容的提问来源于stack exchange,提问作者Velocity
相关产品推荐
相关产品推荐

