日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数

發布時間:2024/2/28 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄


一、流程控制語句

(一)BEGIN...END語句塊

(二)條件語句

(三)循環語句

1、WHILE語句

2、BREAK語句和CONTINUE語句

(四)無條件轉移語句

(五)返回語句?

(六)等待語句

(七)錯誤處理語句

二、系統內置函數

(一)數學函數

1、ABS函數

2、EXP函數

3、CEILING函數和FLOOR函數

4、LOG函數

5、POWER函數

6、SQRT函數

7、SIGN函數

8、RAND函數

(二)字符串函數

結語


一、流程控制語句

(一)BEGIN...END語句塊

BEGIN...END語句塊的作用是將多條T-SQL語句定義為一個語句塊來執行,即當做一個整體,BEGIN...END語句塊可以嵌套使用,其中關鍵字BEGIN指示語句塊的開始,END指示語句塊的結束。

BEGIN<T-SQL語句> (BEGIN...END語句塊) /*BEGIN...END語句塊可以嵌套使用*/ END

(二)條件語句

學過c語言或者c++語言的應該知道有if-else條件語句,這里的條件語句跟其相同。即使用IF...ELSE語句時,當條件為真或假時,分別執行不同的T-SQL語句或語句序列。根據帶不帶ELSE可分為兩種形式,即ELSE可省略,不帶ELSE時執行條件表達式的值,當條件表達式為真時執行T-SQL語句或語句塊,然后執行IF語句的下一條語句;當為假時,直接執行IF語句的下一條語句。如果條件判斷不止兩個結果,比如有三個結果,就可以使用[if]-[else if]-[else]的結構,假設還有結果,就繼續在中間添加else if即可。

IF <條件表達式><T-SQL語句或BEGIN...END語句塊> (ELSE<T-SQL語句或BEGIN...END語句塊>)

(三)循環語句

1、WHILE語句

當程序中的一部分語句需要循環執行時,使用WHILE語句來實現。首先根據條件表達式進行判斷,當條件表達式為真時,執行循環體中的T-SQL語句或語句序列,再進行條件判斷,當條件表達式為真時,重復執行上述操作;直到條件表達式為假時,退出循環體,執行WHILE語句的下一條語句。同時,在循環體中,也可以進行WHILE語句的嵌套。

WHILE <條件表達式> <T-SQL語句構成的循環體或BEGIN...END語句塊>

2、BREAK語句和CONTINUE語句

BREAK語句可以在循環語句中退出本層循環,而CONTINUE語句可以在循環語句中結束本次循環,從而進入循環開始條件的判斷。

(四)無條件轉移語句

GOTO語句用于實現無條件跳轉,將執行流程轉移到標號指定的位置。語句格式:

標號: 語句 ......GOTO <跳轉至標號名稱>

例、計算從1乘到100的值。

sql語句:

DECLARE @sum int,@i int SET @i=1 SET @sum=1 x: SET @sum=@sum*@i SET @i=@i+1 IF @i<=10GOTO x PRINT '1*2*...*10='+CAST(@sum AS char(10))

輸出結果:

這里最后一行的PRINT '1*2*...*10='+CAST(@sum AS char(10))使用到了CAST()函數,其將數據類型varchar的表達式顯式轉換為另一種數據類型char,之間的AS用于分隔兩個參數,在AS為要處理的數據類型,AS之后是要轉換的數據類型。如果不轉換將會報錯無法運行。

查詢中的x就是我們定義的要跳轉的語句標號名稱。

附:CAST()函數可轉換的類型有字符型、日期、時間、浮點數、整數等等。

(五)返回語句?

返回語句即RETURN語句,用于查詢語句塊、存儲過程或批處理中無條件退出,即位于RETURN之后的語句將不再執行。

格式如下:

RETURN <整型表達式>

(六)等待語句

等待語句WAITFOR指定語句塊、存儲過程或事務執行的時刻或需要等待的時間間隔。

格式如下:

WAITFOR <DELAY 等待的時間>(TIME 等待到某一時刻)

(七)錯誤處理語句

TRY...CATCH語句用于對T-SQL語言中的錯誤進行處理,即在執行TRY中的語句時,若執行的過程中沒有異常拋出,那么執行完后就執行最后一個CATCH 塊后面的語句,所有 CATCH塊中的語句都不會被執行,CATCH可以有多個,但至少要有一個。

格式如下:

TRY T-SQL語句或BEGIN...END語句塊CATCH(異常類型) T-SQL語句或BEGIN...END語句塊 ... CATCH(異常類型) T-SQL語句或BEGIN...END語句塊

二、系統內置函數

(一)數學函數

數學函數用于對數值表達式進行數學運算并返回運算結果,這里介紹幾個常用的數學函數。

1、ABS函數

ABS()用于返回數值表達式的絕對值。

例、-9.2222取絕對值輸出9.2222,0.35555取絕對值輸出0.35555。

sql語句:

SELECT ABS(-9.2222),ABS(0.35555)

輸出結果:

2、EXP函數

EXP()用于返回指定表達式以e為底的指數。

例、求以e為底的平方的值:

sql語句:

SELECT EXP(2) AS 'e的平方'

輸出結果:

3、CEILING函數和FLOOR函數

CEILING()用于返回大于或等于數值表達式的最小整數,而FLOOR()用于返回小于或等于數值表達式的最大整數。

4、LOG函數

LOG()用于返回數值表達式以10為底的對數。

例、輸出LOG(1)的值:

sql語句:

SELECT LOG(1)

輸出結果:

5、POWER函數

POWER()用于返回數值表達式進行冪運算的結果,這里要注意POWER()函數帶有兩個參數,格式是POWER(數值,冪次方)。

例、輸出2的10次方的值,運用POWER函數:

sql語句:

SELECT POWER(2,10)

輸出結果:

6、SQRT函數

SQRT()函數用于返回數值表達式的平方根。

例、輸出16的平方根。

sql語句:

SELECT SQRT(16)

輸出結果:

7、SIGN函數

SIGN()函數用于返回數值表達式的正號(+)、負號(-)或零(0)。

8、RAND函數

RAND()函數用于返回0到1之間的一個隨機值,RAND()函數中有seed參數,指定種子值,其返回值類型為float。當指定種子值時,輸出結果相同;當未指定時,則隨機分配種子。

例、通過RAND函數產生種子隨機數。

sql語句:

DECLARE @count float SET @count=0 SELECT RAND(@count) AS cont

輸出結果:

(二)字符串函數

字符串函數
函數作用
ASCII返回字符表達式中最左側的ASCII碼
CHAR返回指定ASCII碼的對應字符
CHARINDEX返回指定模式的起始位置
LEN返回字符串表達式的字符數(不包括尾隨空格)
REPLACE有三個字符串表達式,用第三個字符串表達式替換第一個字符串表達式中包含的第二個字符串表達式,并返回替換后的表達式
REPLICATE以指定的次數復制字符表達式
LEFT返回字符串中從左側開始指定個數的字符
RIGHT返回字符串中從右側開始指定個數的字符
SPACE返回由重復的空格組成的字符串
LTRIM刪除前導空格字符串,返回刪除了前導空格之后的字符表達式
STR返回由數字數據轉換來的字符數據
SUBSTRING返回表達式中指定的部分數據,可指定數據類型、開始位置、返回的字節數

結語

以上就是本次數據庫原理與應用(SQL Server)筆記流程控制語句、系統內置函數的全部內容,感謝您的閱讀和支持,篇幅較長,若有表述以及代碼中的不當之處,望指出!您的指出和建議能給作者帶來很大的動力!!!

總結

以上是生活随笔為你收集整理的数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。