declare @height int
set @height=135
if @height>=120
print '買全票'
else if @height >=90
print '買半票'
else
print '免票'
go
-----------------------------------
--object_id() 判斷資料庫裡某個物件存不存在
declare @obj_name varchar(30)
set @obj_name='View有名字的教授資料'
if OBJECT_ID(@obj_name) is null
print '不存在'
else
exec('select * from '+@obj_name)
--流程控制
--case
--簡單case
select 姓名,
case 性別
when '男' then 'Male'
when '女' then 'Female'
end as 性別
from 學生
--搜尋case
declare @gender nvarchar(1), @result nvarchar(6)
set @gender='444男'
set @result=
case
when @gender='女' then 'Female'
when @gender='男' then 'Male'
else '未知'
end
print @result
go
--等第判斷
declare @score int, @result nvarchar(2)
set @score=75
set @result=
case
when @score>=90 then '優等'
when @score>=80 then '甲等'
when @score>=70 then '乙等'
when @score>=60 then '丙等'
else '丁等'
end
print @result
--流程控制
--while迴圈
declare @i int =1, @sum int =0
while @i<=100
begin
set @sum+=@i
set @i+=1
end
print @sum
-------------------------
--*
--**
--***
--****
--*****
declare @i int =1, @star varchar(max) =''
while @i<=500
begin
set @star+='*'
print @star
set @i+=1
end
@star varchar(max) =''
begin
set @star+='*'
print @star
set @i+=1
end
------------------------------------
set @star+='*'
begin
set @star+='*'
print @star
set @i+=1
end
--系統函數
select * from 學生
select @@ROWCOUNT as 受影響列數
--例外處理
declare @i int =0
begin try
select 100/@i
end try
begin catch
select '除數為0'
end catch
go
declare @i int =0
begin try
select 100/@i
end try
begin catch
select @@ROWCOUNT, @@ERROR, ERROR_NUMBER(),ERROR_STATE(), ERROR_MESSAGE()
end catch
select 100/0
go