Thursday, February 2, 2023

 

Printing Number Pattern using SQL


Link for video answer:




SQL:

--*********************
--PRINT Pattern
--*********************
-- 1
-- 11
-- 111
-- 1111
-- 11111
-- 22222
-- 2222
-- 222
-- 22
-- 2

-- Solution:

DECLARE @counter int  = 1  -- Declare and Initialize counter
DECLARE @number int = 1 -- Declare and Initialize number to be printed
WHILE @counter <= 5                   -- Condition
BEGIN                             -- Begin
IF(@number = 1)
BEGIN
PRINT replicate(@number , @counter)   -- Print
SET @counter = @counter + 1 
IF(@number =1 AND @counter=6) -- once @var value becomes 6 on 5th iteration we increment the number just once
BEGIN
SET @number=@number+1
PRINT replicate(@number , @counter-1)
SET @counter = @counter - 2 
END
END
ELSE 
BEGIN
PRINT replicate(@number , @counter)
SET @counter = @counter - 1  -- decreasing the counter and using the incremented number from above
IF(@counter=0)
BREAK;
END
END


2nd Way:

DECLARE @counter int  = 1  -- Declare and Initialize counter
DECLARE @number int = 1 -- Declare and Initialize number to be printed
WHILE @counter <= 5                   -- Condition
BEGIN                             -- Begin
IF(@number = 1)
BEGIN
PRINT replicate(CAST(@number AS VARCHAR(2)) + SPACE(5), @counter)
PRINT('')
SET @counter = @counter + 1 
IF(@number =1 AND @counter=6) -- once @var value becomes 6 on 5th iteration we increment the number just once
BEGIN
SET @number=@number+1
PRINT replicate(CAST(@number AS VARCHAR(2)) + SPACE(5), @counter-1) 
PRINT('')
SET @counter = @counter - 2 
END
END
ELSE 
BEGIN
PRINT replicate(CAST(@number AS VARCHAR(2)) + SPACE(5), @counter)
PRINT('')
SET @counter = @counter - 1  -- decreasing the counter and using the incremented number from above
IF(@counter=0)
BREAK;
END
END

3rd Way:

DECLARE @counter1 int  = 1  -- Declare and Initialize counter
DECLARE @number1 int = 1 -- Declare and Initialize number to be printed
WHILE @counter1 <= 5                   -- Condition
BEGIN                             -- Begin
IF(@number1 = 1)
BEGIN
PRINT replicate(@number1, @counter1)       -- Print
SET @counter1 = @counter1 + 1 
END
END
SET @number1 = 2
SET @counter1 = 5
WHILE @counter1 <= 5 
BEGIN
PRINT replicate(@number1 , @counter1)      -- Print
SET @counter1 = @counter1 - 1 
IF(@counter1=0)
BREAK;
END

No comments:

Post a Comment

  Printing Number Pattern using SQL Link for video answer: SQL: --********************* --PRINT Pattern --********************* -- 1 -- ...