1.If...Else...語句
格式:
If 布爾表達式
{SQL語句或語句塊}
[Else
{SQL語句或語句塊}]
2.BEGIN...END語句
功能:將多條SQL語句封裝起來,構成一個語句塊
格式:
BEGIN
{sql語句或語句塊}
ENd
3.WHERE、BREAK、CONTINUE語句
[例]:求1到10之間的奇數數據和
DECLARE @I smallint,@sum smallint
SELECT @i=0,@sum=0
WHILE @i>=0
BEGIN
SELECT @i=@i+1
IF @i>10
BREAK
If(@i%2)=0
CONTINUE
ELSE
SELECT @sum=@sum+@I
End
SELECT @sum
4.WAITFOR語句
格式:WAITFOR{DELAY 'time'|TIME 'time'}
time:detetime
[例]:
WAITFOR TIME '10:00' 設置在10:00執行一次命令;
WAITFOR DELAY '1:00' 設置在一小時後執行一次命令。
5.RETURN([整數表達式])
CASE 表達式
(1)簡單case表達式
CASE 表達式
WHEN 表達式1 THEN 表達式2
[WHEN 表達式3 THEN 表達式4[......]]
[ELSE 表達式N]
END
例:
select name=convert(varchar(15),au_lname),
contract=case contract
when 0 then 'invalid contract.'
when 1 then 'valid contract.'
End
from authors
(2)搜索型CASE表達式
CASE表達式
WHEN 布爾表達式1 THEN 表達式1
[WHEN 布爾表達式2 THEN 表達式2[.....]]
[ELSE 表達式N]
End
例:
select name=convert(varchar(15),au_lname),
contract=case contract
when cintract=0 then 'invalid contract.'
when contract<>0 then 'valid contract.'
End
from authors
(3)CASE關系函數
CASE關系函數有以下3種形式:
●COALESCE(表達式1,表達式2)
●COALESCE(表達式1,表達式2,......,表達式N)
●NULLIF(表達式1,表達式2)