《SQL語言補充》課件_第1頁
《SQL語言補充》課件_第2頁
《SQL語言補充》課件_第3頁
《SQL語言補充》課件_第4頁
《SQL語言補充》課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫設(shè)計與應(yīng)用浙江工業(yè)大學(xué)軟件學(xué)院1精選課件pptT-SQL語言

2精選課件pptT-SQL其它語言元素注釋變量運算符函數(shù)流程控制語句3精選課件ppt1.

注釋

T-SQL提供兩種類型的注釋字符:一種是ANSI標(biāo)準(zhǔn)的注釋符“--”,用于單行注釋;另一種是與C語言相同的程序注釋符號,即“/**/”,用于注釋多行文字。注釋是程序代碼中不執(zhí)行的文本字符串。4精選課件ppt2.變量

1.變量變量名必須是一個合法的標(biāo)識符。1)標(biāo)識符(1)常規(guī)標(biāo)識符不允許使用T-SQL的保留字,且不允許嵌入空格或其他特殊字符。(2)分隔標(biāo)識符包含在雙引號(“)或者方括號([])內(nèi)的常規(guī)標(biāo)識符或不符合常規(guī)標(biāo)識符規(guī)則的標(biāo)識符。若標(biāo)識符中有空格,必須使用雙引號或方括號。5精選課件ppt(2)變量的分類Transact-SQL語言包括兩種形式的變量:用戶自己定義的局部變量;系統(tǒng)提供的全局變量。6精選課件ppt1.局部變量

局部變量是一個能夠擁有特定數(shù)據(jù)類型的對象,它的作用范圍僅限在程序內(nèi)部。

局部變量必須先定義才能被引用。使用DECLARE命令定義局部變量,引用局部變量時必須在其名稱前加上標(biāo)志“@”。局部變量用于保存單個數(shù)據(jù)值,供控制流語句測試以及保存由存儲過程返回的數(shù)據(jù)值等。例如,保存運算的中間結(jié)果,作為循環(huán)變量等。7精選課件ppt1)局部變量的定義在批處理或過程中用DECLARE語句聲明局部變量。語法格式:DECLARE

{@local_variabledata_type}

[,...n]2.局部變量的使用@local_variable

指定局部變量的名稱;

datatype設(shè)置局部變量的數(shù)據(jù)類型及大小。局部變量可以為除text,ntext,image類型以外的任何數(shù)據(jù)類型。所有局部變量在聲明后均初始化為NULL,可以使用SELECT或SET設(shè)定相應(yīng)的值。

8精選課件ppt2)局部變量賦值(SET或SELECT語句)將DECLARE語句創(chuàng)建的局部變量設(shè)置為給定表達式的值。SET語句語法格式:

SET@local_variable=expression【例1】創(chuàng)建局部變量@var1、@var2,并賦值,然后輸出變量的值。DECLARE@var1,@var2char(20)SET@var1=’中國’ /*一個SET語句只能給一個變量賦值*/SET@var2=@var1+’是一個偉大的國家’SELECT@var1,@var2/*輸出變量的值*/Go9精選課件ppt【例3】使用查詢給變量賦值。USEXSCJDECLARE@studentchar(8)SET@student=(SELECT姓名FROMXS)GO/*該語句若XS表中只有一條記錄,可正常執(zhí)行,否則將出錯。*/【例2】創(chuàng)建一個名為sex的局部變量,并在SELECT語句中使用該局部變量查找表XS中所有女同學(xué)的學(xué)號、姓名。USEXSCJDECLARE@sexbitSET@sex=0SELECT學(xué)號,姓名

FROMXSWHERE性別=@sexGO10精選課件pptSELECT賦值語句的語法格式:SELECT{@local_variable=expression}[,…n]說明如下:1)SELECT語句通常用于將單個值返回到變量中,若有多個值時,將返回的最后一個值賦給變量;2)若無返回行,則變量將保留當(dāng)前值;3)若expression不返回值,則變量設(shè)為NULL;4)一個SELECT語句可以初始化多個局部變量。SELECT語句也可用于局部變量的查看,格式如下:SELECT@local_variable

PRINT@local_variable

也可用于局部變量的查看11精選課件ppt【例4】在XS表中不存在符合要求的結(jié)果,因此對該表的查詢不返回結(jié)果,變量@var1將保留原值。USEXSCJDECLARE@var1nvarchar(30)SELECT@var1='劉豐'SELECT@var1=姓名/*將姓名列的值賦給變量*/FROMXSWHERE學(xué)號='64122312111'

SELECT@var1AS'NAME‘/*@var1為‘劉豐’*/12精選課件ppt3)局部游標(biāo)變量的定義與賦值(1)局部游標(biāo)變量的定義語法格式:DECLARE{@cursor_variable_nameCURSOR}[,...n]CURSOR表示該變量為游標(biāo)變量。(2)游標(biāo)變量的使用步驟定義游標(biāo)變量

給游標(biāo)變量賦值

打開游標(biāo)

利用游標(biāo)讀取行(記錄)使用結(jié)束后關(guān)閉游標(biāo)

刪除游標(biāo)的引用。13精選課件ppt(3)局部游標(biāo)變量的賦值:利用SET語句賦值語法格式:SET{@cursor_variable={@cursor_variable|/*將一個已存在的并且賦值的游標(biāo)變量的值賦給另一局部游標(biāo)變量*/cursor_name|/*將一個已申明的游標(biāo)名賦給指定的局部游標(biāo)變量*/{CURSOR子句}/*申明一個游標(biāo),同時將其賦給指定的局部游標(biāo)變量*/}}14精選課件ppt【例5】使用游標(biāo)變量USEXSCJDECLARE@CursorVarCURSOR /*定義游標(biāo)變量*/SET@CursorVar=CURSORSCROLLDYNAMIC/*給游標(biāo)變量賦值*/FORSELECT學(xué)號,姓名

FROMXSWHERE姓名LIKE'王%'OPEN@CursorVar /*打開游標(biāo)*/FETCHNEXTFROM@CursorVar/*游標(biāo)指向第一行記錄*/WHILE@@FETCH_STATUS=0/*@@FETCH_STATUS保存FETCH語句的執(zhí)行狀態(tài),其值為0表示上一條執(zhí)行成功;為-1表示FETCH語句失敗或此行不在結(jié)果集中;為-2表示被提取的行不存在(已刪除)。*/BEGINFETCHNEXTFROM@CursorVar /*通過游標(biāo)讀行記錄*/ENDCLOSE@CursorVar/*關(guān)閉游標(biāo)*/DEALLOCATE@CursorVar/*刪除對游標(biāo)的引用*/15精選課件ppt3.全局變量的使用

全局變量由系統(tǒng)提供且預(yù)先聲明,是SQLServer系統(tǒng)內(nèi)部使用的變量,其作用范圍并不僅限于某一程序,而是任何程序均可以隨時調(diào)用。通常存儲SQLServer的配置設(shè)定值和統(tǒng)計數(shù)據(jù)。用戶可以在程序中用全局變量來測試系統(tǒng)的設(shè)定值或者是Transact-SQL命令執(zhí)行后的狀態(tài)值。16精選課件ppt使用全局變量時應(yīng)該注意以下幾點:

①全局變量不是由用戶的程序定義的,而是在服務(wù)器級定義的。②用戶只能使用預(yù)先定義的全局變量。③引用全局變量時,必須以標(biāo)記符“@@”開頭。④局部變量的名稱不能與全局變量的名稱相同,否則會在應(yīng)用程序中出現(xiàn)不可預(yù)測的結(jié)果。17精選課件pptSQLServer支持的全局變量主要包括:

@@CONNECTIONS:返回自最近一次啟動SQLServer以來連接或試圖連接的次數(shù)。@@ERROR:返回最后執(zhí)行SQL語句的錯誤代碼。@@ROWCOUNT:返回上一次語句影響的數(shù)據(jù)行的行數(shù)。@@SERVERNAME:返回運行SQLServer的本地服務(wù)器的名稱。@@VERSION:返回SQLServer當(dāng)前安裝的日期、版本和處理器類型。全局變量的查看語句同局部變量:SELECT@@variable18精選課件pptSQLServer2000的運算符主要有以下六大類:算術(shù)運算符位運算符比較運算符邏輯運算符字符串串聯(lián)運算符賦值運算符2運算符與表達式

19精選課件ppt1.算術(shù)運算符算術(shù)運算符有:+(加)、-(減)、*(乘)、/(除)和%(求模)五種運算。+(加)和–(減)運算符也可用于對datetime及smalldatetime值進行算術(shù)運算?!纠?】求學(xué)生的年齡。USEXSCJSETNOCOUNTONDECLARE@startdatedatetimeSET@startdate=getdate()/*當(dāng)前日期*/SELECT@startdate–出生時間AS年齡FROMXS20精選課件ppt位運算符在兩個表達式之間執(zhí)行位操作,這兩個表達式的類型可為整型或與整型兼容的數(shù)據(jù)類型(如:字符型等,但不能為image類型)。位運算符如表所示。

2.位運算符運算符運算規(guī)則&兩個位均為1時,結(jié)果為1,否則為0|只要一個位為1,結(jié)果為1,否則為0^兩個位值不同時,結(jié)果為1,否則為021精選課件ppt比較運算符(又稱關(guān)系運算符)如表所示,用于測試兩個表達式的值是否相同,其運算結(jié)果為邏輯值,可以為三種之一:TRUE、FALSE及UNKNOWN。3.比較運算符運算符含義=相等>大于<小于>=大于等于<=小于等于<>、!=不等于!<不小于!>不大于22精選課件ppt邏輯運算符用于對某個條件進行測試,運算結(jié)果為TRUE或FALSE。SQLServer提供的邏輯運算符如表所示。4.邏輯運算符運算符運算規(guī)則AND如果兩個操作數(shù)值都為TRUE,運算結(jié)果為

TRUE。OR如果兩個操作數(shù)中有一個為TRUE,運算結(jié)果為TRUE。NOT若一個操作數(shù)值為TRUE,運算結(jié)果為FALSE,否則為TRUE。ALL如果每個操作數(shù)值都為TRUE,運算結(jié)果為TRUE。ANY在一系列操作數(shù)中只要有一個為

TRUE,運算結(jié)果為TRUE。BETWEEN如果操作數(shù)在指定的范圍內(nèi),運算結(jié)果為TRUE。EXISTS如果子查詢包含一些行,運算結(jié)果為TRUE。IN如果操作數(shù)值等于表達式列表中的一個,運算結(jié)果為TRUE。LIKE如果操作數(shù)與一種模式相匹配,運算結(jié)果為TRUE。SOME如果在一系列操作數(shù)中,有些值為TRUE,運算結(jié)果為TRUE。23精選課件pptLIKE的使用語法格式:match_expression[NOT]LIKEpattern[ESCAPEescape_character]通配符說明示例%代表0個或多個字符。WHERE姓名

LIKE'劉%'

查詢姓劉的學(xué)生。_(下劃線)代表單個字符。WHERE姓名LIKE'張_'

查詢姓張的名為一個漢字的所有人名。[]指定范圍

(如:[a-f]、[0-9])或集合

(如[abcdef])中的任何單個字符。WHEREsubstring(學(xué)號,1,1)LIKE'[12]%'查詢首字符為1、2的學(xué)號。[^]指定不屬于范圍

(如:[^a-f]、[^0-9])或集合

(如:[^abcdef])的任何單個字符。WHEREsubstring(學(xué)號,1,1)LIKE‘[^1-9]%’

查詢首字符不為1-9任一字符的學(xué)號。24精選課件ppt【例7】查詢課程名以C或A開頭的情況。USEXSCJSELECT*FROMKCWHERE課程名LIKE'[AC]%'25精選課件ppt通過運算符“+”實現(xiàn)兩個字符串的聯(lián)接運算。將“+”號兩邊的字符串串聯(lián)成一個字符串?!纠?】多個字符串的聯(lián)接。USEXSCJSELECT(學(xué)號+‘,’+SPACE(1)+姓名)AS學(xué)號及姓名FROMXSWHERESUBSTRING(學(xué)號,1,2)=‘19’/*取子串*/5.字符串聯(lián)接運算符26精選課件ppt一元運算符有+(正)、-(負)和~(按位取反)。如a的值為12(0000000000001100)則~a的值為:11111111111100116.一元運算符27精選課件ppt7.賦值運算符T-SQL只有一個賦值運算符,即等號(=)。賦值運算符可以將數(shù)據(jù)值指派給特定的對象。如給局部變量賦值的SET和SELECT語句中使用的“=”。利用賦值運算符可以在列標(biāo)題和為列定義值的表達式之間建立對應(yīng)關(guān)系。28精選課件ppt3流程控制語句

控制語句說明IF...ELSE條件語句GOTO無條件轉(zhuǎn)移語句WHILE循環(huán)語句CONTINUE用于重新開始下一次循環(huán)BREAK用于退出最內(nèi)層的循環(huán)RETURN無條件返回

SQLServer中提供了如表所示的流程控制語句29精選課件ppt3.1IF...ELSE語句

在程序中如果要對給定的條件進行判定,當(dāng)條件為真或假時分別執(zhí)行不同的T-SQL語句,可用IF...ELSE語句實現(xiàn)。語法格式:IFBoolean_expression/*條件表達式*/{sql_statement|statement_block} /*條件表達式為真時執(zhí)行*/[ELSE{sql_statement|statement_block}] /*條件表達式為假時執(zhí)行*/30精選課件pptIF…ELSE語句中,IF子句是必須的,ELSE子句是可選的,最簡單的IF語句沒有ELSE子句部分。

SQLServer允許嵌套使用IF…ELSE語句,而且嵌套層數(shù)沒有限制。IF條件表達式

A/*T-SQL語句或語句塊*/ELSEB

/*T-SQL語句或語句塊*/當(dāng)條件表達式的值為真時執(zhí)行A,然后執(zhí)行IF語句的下一語句;條件表達式的值為假時執(zhí)行B,然后執(zhí)行IF語句的下一語句。31精選課件ppt

【例8】如下程序用于查詢總學(xué)分>40的學(xué)生人數(shù)。USEXSCJDECLARE@numintSELECT@num=(SELECTCOUNT(姓名)FROMXSWHERE總學(xué)分>40)IF@num<>0SELECT@numAS‘總學(xué)分>40的人數(shù)’32精選課件ppt【例9】如果“數(shù)據(jù)庫原理課程”的平均成績高于75分,則顯示“平均成績高于75分”。USEXSCJDECLARE@text1char(20)SET@text1='平均成績高于75.'IF(SELECTAVG(成績)FROMXS_KC,KCWHEREXS_KC.課程號=KC.課程號

ANDKC.課程名=’數(shù)據(jù)庫原理’)<75SELECT@text1='平均成績低于75.'[ELSE]SELECT@text133精選課件ppt【例10】IF...ELSE語句的嵌套使用。USEXSCJIF(SELECTAVG(成績)FROMXS_KC,KCWHEREXS_KC.課程號=KC.課程號

ANDKC.課程名=’數(shù)據(jù)庫原理’)<75SELECT'平均成績低于75'ELSEIF(SELECTAVG(成績)FROMXS_KC,KCWHEREXS_KC.課程號=KC.課程號

ANDKC.課程名=’數(shù)據(jù)庫原理’)>75SELECT'平均成績高于75'34精選課件pptBEGIN…END語句BEGIN…END語句將多個T-SQL語句組合成一個語句塊,并將它們視為一個單元處理。在條件語句和循環(huán)等控制流程語句中,當(dāng)符合特定條件便要執(zhí)行兩個或者多個語句時,就需要使用BEGIN…END語句。語法形式為:

BEGIN

{sql_statement|statement_block}

END

35精選課件ppt3.2GOTO語句

GOTO語句可以使程序直接跳到指定的標(biāo)有標(biāo)識符的位置處繼續(xù)執(zhí)行,而位于GOTO語句和標(biāo)識符之間的程序?qū)⒉粫粓?zhí)行。通常,應(yīng)盡量少用GOTO語句。

GOTO語句和標(biāo)識符可以用在語句塊、批處理和存儲過程中,標(biāo)識符可以為數(shù)字與字符的組合,但必須以“:”結(jié)尾。語法形式如下:

GOTOlabel……label:36精選課件ppt3.3WHILE…CONTINUE…BREAK語句

WHILE…CONTINUE…BREAK語句用于設(shè)置重復(fù)執(zhí)行SQL語句或語句塊的條件。只要指定的條件為真,就重復(fù)執(zhí)行語句。

CONTINUE語句可以使程序跳過CONTINUE語句后面的語句,回到WHILE循環(huán)的第一行命令。

BREAK語句則使程序退出其所在的這一層循環(huán),結(jié)束該層循環(huán)語句的執(zhí)行。37精選課件pptWHILE語句的語法形式為:WHILEBoolean_expression

{sql_statement|statement_block}

[BREAK]

{sql_statement|statement_block}

[CONTINUE]38精選課件ppt【例11】顯示字符串"China"中每個字符的ASCII值和字符。DECLARE@positionint,@stringchar(8)SET@position=1SET@string='China'WHILE@position<=DATALENGTH(@string) BEGINSELECTASCII(SUBSTRING(@string,@position,1)), CHAR(ASCII(SUBSTRING(@string,@position,1))) SET@position=@position+1 END39精選課件pptRETURN語句用于無條件地終止一個查詢、存儲過程或者批處理,此時位于RETURN語句之后的程序?qū)⒉粫粓?zhí)行。語法形式為:

RETURN[integer_expression

]其中,參數(shù)integer_expression為返回的整型值。存儲過程可以給調(diào)用過程或應(yīng)用程序返回整型值。NOTE:除非特別指明,所有系統(tǒng)存儲過程返回0值表示成功,返回非零值則表示失敗。3.4RETURN語句

40精選課件ppt【例12】檢查學(xué)生的平均成績,若>75,將返回狀態(tài)代碼1,將返回狀態(tài)代碼2。USEXSCJCREATEPROCEDUREcheckavg@paramvarchar(10)ASIF(SELECTAVG(成績)FROMXS_KCWHEREXS_KC學(xué)號=@paramGROUPBY學(xué)號)>75RETURN1ELSERETURN241精選課件ppt[例13]查詢課程號為“C01”課程的平均成績,若平均成績小于50,則用原成績*1.2來更新該門課成績。若最高成績大于90分,則退出,否則繼續(xù)執(zhí)行。42精選課件pptUSEXSCJGOWHILE(SELECTAVG(成績)FROMXS_KCWHERE課程號=‘C01’)<50--若平均成績小于50,則執(zhí)行循環(huán)BEGINUPDATEXS_KCSET成績=成績*1.2WHERE課程號=‘C01’--更新成績

IF(SELECTMAX(成績)FROMXS_KCWHERE課程號=‘C01’)>90BREAK--若最高分大于90,則退出循環(huán)

ELSECONTINUE--否則,繼續(xù)執(zhí)行END43精選課件ppt[例14]利用GOTO語句求出從1加到5的總和;

利用WHILE語句求1-50的偶數(shù)和。44精選課件pptdeclare@sumint,@countintselect@sum=0,@count=1label_1:select@sum=@sum+@countselect@count=@count+1if@count<=5gotolabel_1select@count,@sum也可用WHILE語句來實現(xiàn)45精選課件pptdeclare@sumint,@countintselect@sum=0,@count=2While(@count<=50)beginselect@sum=@sum+@countselect@count=@count+2endPrint‘s=’+str(@sum)46精選課件ppt1.?dāng)?shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)用于對數(shù)字表達式進行數(shù)學(xué)運算并返回結(jié)果。主要包括:

ABS(numeric_expr):返回絕對值

SQRT(float_expr):返回給定值的平方根

CEILING(numeric_expr):返回不小于給定值的最小整數(shù)

FLOOR(numeric_expr):返回不大于給定值的最大整數(shù)

ROUND(numeric_expr,length):將給定的數(shù)值四舍五入到指定的長度

SIGN(numeric_expr):判斷給定的數(shù)值是否為正(1)、負(-1)或零(0)RAND([SEED]):產(chǎn)生隨機數(shù)函數(shù)4.系統(tǒng)內(nèi)置函數(shù)介紹

47精選課件ppt2.字符串函數(shù)

字符串函數(shù)可以對二進制數(shù)據(jù)、字符串和表達式執(zhí)行不同的運算。大多數(shù)字符串函數(shù)只能用于char和varchar數(shù)據(jù)類型以及明確轉(zhuǎn)換成char和varchar的數(shù)據(jù)類型,少數(shù)幾個字符串函數(shù)也可以用于binary和varbinary數(shù)據(jù)類型。某些字符串函數(shù)還能處理text、ntext、image數(shù)據(jù)類型的數(shù)據(jù)。48精選課件ppt字符串函數(shù)的分類基本字符串函數(shù):UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。字符串查找函數(shù):CHARINDEX、PATINDEX。長度和分析函數(shù):DATALENGTH、SUBSTRING、RIGHT、LEFT。轉(zhuǎn)換函數(shù):ASCII、CHAR、STR、SOUNDEX、DIFFERENCE。49精選課件ppt2)CHAR:將ASCII碼轉(zhuǎn)換為字符語法格式:CHAR(integer_expression)

1)ASCII:返回左端第一個字符的ASCII值語法格式:ASCII(character_expression)

3)LEFT:返回從字符串左邊開始指定個數(shù)的字符語法格式:LEFT(character_expression,integer_expression)RIGHT:返回從字符串右邊開始指定個數(shù)的字符50精選課件ppt【例15】返回課程名最左邊的8個字符,最右邊的2個字符,并顯示出相應(yīng)的ASCII碼。USEXSCJSELECTLEFT(課程名,8),RIGHT(課程名,2),ASCII(LEFT(課程名,8)),ASCII(RIGHT(課程名,2))FROMKCORDERBY課程號GO51精選課件ppt【例16】使用LTRIM字符刪除字符變量中的起始空格。DECLARE@stringvarchar(40)SET@string='中國,一個古老而偉大的國家'SELECTLTRIM(@string)GO4)LTRIM:刪除字符串左邊的空格,并返回字符串語法格式:LTRIM(character_expression)RTRIM:刪除字符串右邊的空格52精選課件ppt5)REPLACE:用第三個表達式的值替換第一個表達式中包含第二個表達式的部分。語法格式:REPLACE('string_expression1','string_expression2','string_expression3')例:SELECTREPLACE('abcd','b','bb')6)SUBSTRING:求子串函數(shù)語法格式:SUBSTRING(expression,start,length)Expression:指定的字符串Start:子串的起始位置Length:子串的長度,即要返回的字節(jié)數(shù)53精選課件ppt【例17】如下程序在一列中返回XS表中的姓氏,在另一列中返回表中學(xué)生的名。USEXSCJSELECTSUBSTRING(姓名,1,1),SUBSTRING(姓名,2,LEN(姓名)-1)FROMXSORDERBY姓名54精選課件ppt

SPACE(integer_expr):返回指定長度的空格

UPPER(char_expr):把給定的字符串變成大寫字母

LOWER(char_expr):把給定的字符串變成小寫字母

STUFF(char_expr1,star,length,char_expr2):在char_expr1中,把從位置star開始,長度為length的字符串用char_expr2代替REVERSE(char_expr):將指定的字符串反向PATINDEX(‘%pattern%’,expr)CHARINDEX(‘pattern’,expr)在給定的表達式中查找指定字符串的起始位置55精選課件ppt在選擇價格位于$11和$20之間的書名時,利用SUBSTRING函數(shù)從字符串中返回指定的字符串,并使用LOWER函數(shù)、UPPER函數(shù)返回大寫和小寫的書名。其源程序清單為:USEpubsSELECTLOWER(SUBSTRING(title,1,20))ASLower,UPPER(SUBSTRING(title,1,20))ASUpper,FROMtitlesWHEREpricebetween11.00AND20.0056精選課件ppt[例18]定義一個局部變量,其類型為VARCHAR,并給該變量輸入值為“

thisistest”。利用字符串函數(shù)實現(xiàn)以下操作,并顯示結(jié)果值:1。刪除該字符變量起始空格和末尾空格;2。返回該變量右邊開始的四個字符;3。將該字符變量取反;4。將該字符變量中的“is”子串用‘“are”字符串替代。57精選課件pptDECLARE@tempstrVARCHAR(20)SET@tempstr='thisistest'SELECTRTRIM(LTRIM(@tempstr)),RIGHT(RTRIM(LTRIM(@tempstr)),4),REVERSE(@tempstr),REPLACE(@tempstr,'is','are')58精選課件ppt3.系統(tǒng)函數(shù)

系統(tǒng)函數(shù)用于返回有關(guān)SQLServer系統(tǒng)、用戶、數(shù)據(jù)庫和數(shù)據(jù)庫對象的信息。與其它函數(shù)一樣,可以在SELECT語句的SELECT子句和WHERE子句以及表達式中使用系統(tǒng)函數(shù)。

59精選課件ppt1)CASE函數(shù)

CASE函數(shù)可以計算多個條件式,并將其中一個符合條件的結(jié)果表達式返回。CASE函數(shù)的語法形式CASE

WHENBoolean_expressionTHENresult_expression

[...n]

[

ELSEelse_result_expression

END

60精選課件ppt【例19】根據(jù)學(xué)生的年齡范圍顯示相應(yīng)信息。/*使用CASE搜索函數(shù)的SELECT語句*/USEXSCJSELECT學(xué)號,年齡=CASEWHENgetdate()-出生時間<=20THEN'年齡較小'WHENgetdate()-出生時間>=24THEN'年齡偏大'ELSE'年齡適中'ENDFROMXSGO61精選課件ppt2)CAST和CONVERT常用的類型轉(zhuǎn)換有以下幾種情況:日期型

字符型:如將datetime

或sma

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論