文章出處

一:本章目標

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語句區別

  Set Select
同時對多個變量賦值 不支持 支持
表達式返回多個值時 出錯 將返回的最后一個值賦給變量
表達式未返回值時 變量將賦值為NULL 變量保持原值

 

 

 

 

eg:

注:被賦值的變量的數據來源于數據表的時候,不要用set,選用select

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-whilefor循環

經典案例:

 

檢查學生“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語句的集合

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()