SQL程式設計

2022-07-05 00:45:13 字數 2963 閱讀 8465

一:本章目標

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

set @num=10

print 'num的值是:'+convert(nvarchar(32),@num)

字串型別:(char  varchar  nvarchar)

declare @name nvarchar(32)

set @name='趙六'

print @name

小數型別(float decimal  numeric(18,0))

declare @number decimal(18,2)

set @number=1.3

print @number

日期型別(datetime))

declare @mydate datetime

set @mydate=getdate()

print convert(nvarchar(32),@mydate,120)

2:全域性變數

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賦值的...