sql宣告變數,及if -else語句、while語句的用法

夜靜之秋發表於2018-12-28
--宣告變數,同時為變數賦值
declare @n int=10 
print @n
--單獨使用一條語句為變數複製
set @n=20
print @n
select @n=30
print @n
--通過set賦值與select複製的區別
select @n=COUNT(*) from Employees
print @n
set @n=(select COUNT(*) from Employees)--當使用set給變數賦值時。必須給查詢語句用括號括起來
print @n
select @n=TblStudent.tSAge from TblStudent --當使用select給變數賦值的時候,如果查詢語句返回多條記錄,那麼會將最後一條記錄的值賦給變數
print @n     --賦最後一個值
set @n=(select TblStudent.tSAge from TblStudent)--當使用set賦值的時候,如果等號右邊有多個值,直接報錯!
--select與print輸出值的時候差別
--select @name,@id
--print @name
--print @name,@id 錯誤

--------------------------
---------------if else------------------
declare @n1 int=3
if @n1>10
begin
print `n1對於10`
print @n1
end
else
begin
print `n1小於10`
print @n1
end
--------------------------------------------------
declare @i int=0
declare @sum1 int=0
declare @sum2 int=0
while @i<100
begin
set @i=@i+1
    if @i%2=0
    begin
    set @sum1=@sum1 +@i
    end
    else
    begin
    set @sum2=@sum2+@i
    end
end
print @sum1
print @sum2
---------------------------------------------------
declare @j int=0
declare @b int=1
declare @sumz int=0 --求質數的和
declare @sumf int=0 --求非質數的和
while @j<10
begin
    set @b=1;
    set @j=@j+1
    while @b<@j
    begin
        set @b=@b+1;
        if @j%@b=0
        begin
            break;    
        end
    end
    if @b=@j
    set @sumz=@sumz+@j;
    else
    set @sumf=@sumf+@j;
end
print @sumz
print @sumf

 

相關文章