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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

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

目錄


一、流程控制語句

(一)BEGIN...END語句塊

(二)條件語句

(三)循環(huán)語句

1、WHILE語句

2、BREAK語句和CONTINUE語句

(四)無條件轉(zhuǎn)移語句

(五)返回語句?

(六)等待語句

(七)錯(cuò)誤處理語句

二、系統(tǒng)內(nèi)置函數(shù)

(一)數(shù)學(xué)函數(shù)

1、ABS函數(shù)

2、EXP函數(shù)

3、CEILING函數(shù)和FLOOR函數(shù)

4、LOG函數(shù)

5、POWER函數(shù)

6、SQRT函數(shù)

7、SIGN函數(shù)

8、RAND函數(shù)

(二)字符串函數(shù)

結(jié)語


一、流程控制語句

(一)BEGIN...END語句塊

BEGIN...END語句塊的作用是將多條T-SQL語句定義為一個(gè)語句塊來執(zhí)行,即當(dāng)做一個(gè)整體,BEGIN...END語句塊可以嵌套使用,其中關(guān)鍵字BEGIN指示語句塊的開始,END指示語句塊的結(jié)束。

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

(二)條件語句

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

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

(三)循環(huán)語句

1、WHILE語句

當(dāng)程序中的一部分語句需要循環(huán)執(zhí)行時(shí),使用WHILE語句來實(shí)現(xiàn)。首先根據(jù)條件表達(dá)式進(jìn)行判斷,當(dāng)條件表達(dá)式為真時(shí),執(zhí)行循環(huán)體中的T-SQL語句或語句序列,再進(jìn)行條件判斷,當(dāng)條件表達(dá)式為真時(shí),重復(fù)執(zhí)行上述操作;直到條件表達(dá)式為假時(shí),退出循環(huán)體,執(zhí)行WHILE語句的下一條語句。同時(shí),在循環(huán)體中,也可以進(jìn)行WHILE語句的嵌套。

WHILE <條件表達(dá)式> <T-SQL語句構(gòu)成的循環(huán)體或BEGIN...END語句塊>

2、BREAK語句和CONTINUE語句

BREAK語句可以在循環(huán)語句中退出本層循環(huán),而CONTINUE語句可以在循環(huán)語句中結(jié)束本次循環(huán),從而進(jìn)入循環(huán)開始條件的判斷。

(四)無條件轉(zhuǎn)移語句

GOTO語句用于實(shí)現(xiàn)無條件跳轉(zhuǎn),將執(zhí)行流程轉(zhuǎn)移到標(biāo)號(hào)指定的位置。語句格式:

標(biāo)號(hào): 語句 ......GOTO <跳轉(zhuǎn)至標(biāo)號(hào)名稱>

例、計(jì)算從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))

輸出結(jié)果:

這里最后一行的PRINT '1*2*...*10='+CAST(@sum AS char(10))使用到了CAST()函數(shù),其將數(shù)據(jù)類型varchar的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型char,之間的AS用于分隔兩個(gè)參數(shù),在AS為要處理的數(shù)據(jù)類型,AS之后是要轉(zhuǎn)換的數(shù)據(jù)類型。如果不轉(zhuǎn)換將會(huì)報(bào)錯(cuò)無法運(yùn)行。

查詢中的x就是我們定義的要跳轉(zhuǎn)的語句標(biāo)號(hào)名稱。

附:CAST()函數(shù)可轉(zhuǎn)換的類型有字符型、日期、時(shí)間、浮點(diǎn)數(shù)、整數(shù)等等。

(五)返回語句?

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

格式如下:

RETURN <整型表達(dá)式>

(六)等待語句

等待語句WAITFOR指定語句塊、存儲(chǔ)過程或事務(wù)執(zhí)行的時(shí)刻或需要等待的時(shí)間間隔。

格式如下:

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

(七)錯(cuò)誤處理語句

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

格式如下:

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

二、系統(tǒng)內(nèi)置函數(shù)

(一)數(shù)學(xué)函數(shù)

數(shù)學(xué)函數(shù)用于對(duì)數(shù)值表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回運(yùn)算結(jié)果,這里介紹幾個(gè)常用的數(shù)學(xué)函數(shù)。

1、ABS函數(shù)

ABS()用于返回?cái)?shù)值表達(dá)式的絕對(duì)值。

例、-9.2222取絕對(duì)值輸出9.2222,0.35555取絕對(duì)值輸出0.35555。

sql語句:

SELECT ABS(-9.2222),ABS(0.35555)

輸出結(jié)果:

2、EXP函數(shù)

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

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

sql語句:

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

輸出結(jié)果:

3、CEILING函數(shù)和FLOOR函數(shù)

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

4、LOG函數(shù)

LOG()用于返回?cái)?shù)值表達(dá)式以10為底的對(duì)數(shù)。

例、輸出LOG(1)的值:

sql語句:

SELECT LOG(1)

輸出結(jié)果:

5、POWER函數(shù)

POWER()用于返回?cái)?shù)值表達(dá)式進(jìn)行冪運(yùn)算的結(jié)果,這里要注意POWER()函數(shù)帶有兩個(gè)參數(shù),格式是POWER(數(shù)值,冪次方)。

例、輸出2的10次方的值,運(yùn)用POWER函數(shù):

sql語句:

SELECT POWER(2,10)

輸出結(jié)果:

6、SQRT函數(shù)

SQRT()函數(shù)用于返回?cái)?shù)值表達(dá)式的平方根。

例、輸出16的平方根。

sql語句:

SELECT SQRT(16)

輸出結(jié)果:

7、SIGN函數(shù)

SIGN()函數(shù)用于返回?cái)?shù)值表達(dá)式的正號(hào)(+)、負(fù)號(hào)(-)或零(0)。

8、RAND函數(shù)

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

例、通過RAND函數(shù)產(chǎn)生種子隨機(jī)數(shù)。

sql語句:

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

輸出結(jié)果:

(二)字符串函數(shù)

字符串函數(shù)
函數(shù)作用
ASCII返回字符表達(dá)式中最左側(cè)的ASCII碼
CHAR返回指定ASCII碼的對(duì)應(yīng)字符
CHARINDEX返回指定模式的起始位置
LEN返回字符串表達(dá)式的字符數(shù)(不包括尾隨空格)
REPLACE有三個(gè)字符串表達(dá)式,用第三個(gè)字符串表達(dá)式替換第一個(gè)字符串表達(dá)式中包含的第二個(gè)字符串表達(dá)式,并返回替換后的表達(dá)式
REPLICATE以指定的次數(shù)復(fù)制字符表達(dá)式
LEFT返回字符串中從左側(cè)開始指定個(gè)數(shù)的字符
RIGHT返回字符串中從右側(cè)開始指定個(gè)數(shù)的字符
SPACE返回由重復(fù)的空格組成的字符串
LTRIM刪除前導(dǎo)空格字符串,返回刪除了前導(dǎo)空格之后的字符表達(dá)式
STR返回由數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換來的字符數(shù)據(jù)
SUBSTRING返回表達(dá)式中指定的部分?jǐn)?shù)據(jù),可指定數(shù)據(jù)類型、開始位置、返回的字節(jié)數(shù)

結(jié)語

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。