一:本章目標
1:掌握如何定義變數並賦值
2:如何輸出顯示資料
3:資料型別轉換 cast()和convert()函式
4:掌握邏輯控制語句:
順序結構控制語句:begin-end語句
分支結構控制語句:if-else語句和case-end語句
迴圈結構控制語句:while語句
5:使用批處理指令完成多語句批量處理(go指令)
二:變數
定義:變數是儲存資料的容器
變數分為區域性變數和全域性變數
區域性變數的使用是先申明再賦值。而全域性變數由系統定義和維護,可以直接使用,但一般不自定義全域性變數
1:區域性變數:
區域性變數的名稱必須以標記@作為字首
宣告區域性變數的語句如下:
declare @variable name(區域性變數名稱) datatype(資料型別)
區域性變數賦值有兩種方法:使用set語句或select語句
例子:整型:
declare @num int字串型別:(char varchar nvarchar)set @num=10
print 'num的值是:'+convert(nvarchar(32),@num)
declare @name nvarchar(32)小數型別(float decimal numeric(18,0))set @name='趙六'
print @name
declare @number decimal(18,2)日期型別(datetime))set @number=1.3
print @number
declare @mydate datetime2:全域性變數set @mydate=getdate()
print convert(nvarchar(32),@mydate,120)
sqlserver中的所有全域性變數都使用兩個@符號作為字首
常用的幾個全域性變數:
@@error(重點)
上一條sql錯誤號
@@identity
最後一次插入的標識值
@@rowcount
受上乙個sql語句影響的行數
@@servicename
該計算機上的sql服務名稱
@@version
sqlserver的版本資訊
注:程式設計師不能自己定義全域性變數,不能給全域性變數賦值
三:select語句和set語句區別
setselect
同時對多個變數賦值
不支援支援
表示式返回多個值時
出錯將返回的最後乙個值賦給變數
表示式未返回值時
變數將賦值為null
變數保持原值
eg:
declare @stuname nvarchar(32)四:資料型別轉換select @stuname=studentname from student
where studentno=23
cast()與convert()函式
基本語法:
cast(表示式 as 資料型別)
convert(資料型別[(長度)],表示式[,樣式])
二者在本質上無任何區別 唯一不同之處是:在將日期時間型別的資料轉換為字串資料時,convert()函式可以通過第三個引數指定轉換後字元資料的顯示格式不同。
五:邏輯控制語句
1:順序結構控制語句
begin
語句或語句塊
end類似於c#語言的「{}」表示語句塊的開始和結束
2:if-else條件語句
金典案例:
統計並顯示2013-08-09 的
oop考試平均分
如果平均分在70以上,顯示「
考試成績優秀
」,並顯示前三名學生的考試資訊
如果在70分以下,顯示「
考試成績較差
」,並顯示後三名學生的考試資訊
3:while迴圈語句
注:在sql
中,只有
while
一種迴圈,沒有
do-while
和for
迴圈經典案例:
檢查學生
「oop」
課最近一次考試是否有不及格(60分及格)的學生。
如有,每人加2分,高於95分的學生不再加分,直至所有學生這次考試成績均及格
4:case多分支語句
case-end語句計算一組條件表示式,並返回其中乙個符合條件的結果
基本語法:
case
when 條件1 then 結果1
when 條件2 then 結果2
[ else 其他結果]
end經典案例:
abcde五級打分制顯示學生oop課最近一次考試成績(姓名和等級)
a級: 90
分以上,b級:
80-分,c級
: 70
-分,d級:
60-分,e級:
60分以下
五:批處理
go指令:go關鍵字標誌著批處理的結束,它是一條或多條sql語句的集合
sql程式設計
sql程式設計 一 區域性變數 1.宣告 declare 變數名 資料型別 2.賦值 set 變數名 值 select 變數名 值 區別 1 set不支援同時給多個變數賦值 select支援 2 如果表示式有多個值的話,set會出錯,而select會保留最後乙個值 3 如果表示式沒有值,set賦值的...
SQL程式設計
一 本章目標 1 掌握如何定義變數並賦值 2 如何輸出顯示資料 3 資料型別轉換 cast 和convert 函式 4 掌握邏輯控制語句 順序結構控制語句 begin end語句 分支結構控制語句 if else語句和case end語句 迴圈結構控制語句 while語句 5 使用批處理指令完成多語...
sql程式設計
sql程式設計 一 區域性變數 1.宣告 declare 變數名 資料型別 2.賦值 set 變數名 值 select 變數名 值 區別 1 set不支援同時給多個變數賦值 select支援 2 如果表示式有多個值的話,set會出錯,而select會保留最後乙個值 3 如果表示式沒有值,set賦值的...