如何使用简单SELECT语句实现#字符的逐行递增显示?
修改后的WHILE循环实现
你现有代码每次仅输出单个#,修改为使用REPLICATE函数按计数器值生成对应长度的#字符串即可:
DECLARE @Counter INT SET @Counter=1 WHILE ( @Counter <= 10) -- 此处数值可调整,控制最大输出行数 BEGIN PRINT REPLICATE('#', @Counter) SET @Counter = @Counter +1 END
支持数字参数的SELECT实现
如果需要完全用SELECT语句实现、避免循环,可以用递归CTE方案,直接调整参数即可修改输出规格:
DECLARE @MaxCount INT = 10 -- 数字参数,按需修改即可调整输出行数和最大#数量 ;WITH Seq AS ( SELECT 1 AS n UNION ALL SELECT n + 1 FROM Seq WHERE n < @MaxCount ) SELECT REPLICATE('#', n) AS output FROM Seq
运行后输出的结果完全符合你期望的逐行递增#的格式要求。
内容的提问来源于stack exchange,提问作者RAVINDRA NAGAVARAPU
相关产品推荐
相关产品推荐

