版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫設(shè)計(jì)與應(yīng)用浙江工業(yè)大學(xué)軟件學(xué)院1精選課件pptT-SQL語言
2精選課件pptT-SQL其它語言元素注釋變量運(yùn)算符函數(shù)流程控制語句3精選課件ppt1.
注釋
T-SQL提供兩種類型的注釋字符:一種是ANSI標(biāo)準(zhǔn)的注釋符“--”,用于單行注釋;另一種是與C語言相同的程序注釋符號,即“/**/”,用于注釋多行文字。注釋是程序代碼中不執(zhí)行的文本字符串。4精選課件ppt2.變量
1.變量變量名必須是一個(gè)合法的標(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.局部變量
局部變量是一個(gè)能夠擁有特定數(shù)據(jù)類型的對象,它的作用范圍僅限在程序內(nèi)部。
局部變量必須先定義才能被引用。使用DECLARE命令定義局部變量,引用局部變量時(shí)必須在其名稱前加上標(biāo)志“@”。局部變量用于保存單個(gè)數(shù)據(jù)值,供控制流語句測試以及保存由存儲過程返回的數(shù)據(jù)值等。例如,保存運(yùn)算的中間結(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è)置為給定表達(dá)式的值。SET語句語法格式:
SET@local_variable=expression【例1】創(chuàng)建局部變量@var1、@var2,并賦值,然后輸出變量的值。DECLARE@var1,@var2char(20)SET@var1=’中國’ /*一個(gè)SET語句只能給一個(gè)變量賦值*/SET@var2=@var1+’是一個(gè)偉大的國家’SELECT@var1,@var2/*輸出變量的值*/Go9精選課件ppt【例3】使用查詢給變量賦值。USEXSCJDECLARE@studentchar(8)SET@student=(SELECT姓名FROMXS)GO/*該語句若XS表中只有一條記錄,可正常執(zhí)行,否則將出錯(cuò)。*/【例2】創(chuàng)建一個(gè)名為sex的局部變量,并在SELECT語句中使用該局部變量查找表XS中所有女同學(xué)的學(xué)號、姓名。USEXSCJDECLARE@sexbitSET@sex=0SELECT學(xué)號,姓名
FROMXSWHERE性別=@sexGO10精選課件pptSELECT賦值語句的語法格式:SELECT{@local_variable=expression}[,…n]說明如下:1)SELECT語句通常用于將單個(gè)值返回到變量中,若有多個(gè)值時(shí),將返回的最后一個(gè)值賦給變量;2)若無返回行,則變量將保留當(dāng)前值;3)若expression不返回值,則變量設(shè)為NULL;4)一個(gè)SELECT語句可以初始化多個(gè)局部變量。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|/*將一個(gè)已存在的并且賦值的游標(biāo)變量的值賦給另一局部游標(biāo)變量*/cursor_name|/*將一個(gè)已申明的游標(biāo)名賦給指定的局部游標(biāo)變量*/{CURSOR子句}/*申明一個(gè)游標(biāo),同時(shí)將其賦給指定的局部游標(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)部使用的變量,其作用范圍并不僅限于某一程序,而是任何程序均可以隨時(shí)調(diào)用。通常存儲SQLServer的配置設(shè)定值和統(tǒng)計(jì)數(shù)據(jù)。用戶可以在程序中用全局變量來測試系統(tǒng)的設(shè)定值或者是Transact-SQL命令執(zhí)行后的狀態(tài)值。16精選課件ppt使用全局變量時(shí)應(yīng)該注意以下幾點(diǎn):
①全局變量不是由用戶的程序定義的,而是在服務(wù)器級定義的。②用戶只能使用預(yù)先定義的全局變量。③引用全局變量時(shí),必須以標(biāo)記符“@@”開頭。④局部變量的名稱不能與全局變量的名稱相同,否則會在應(yīng)用程序中出現(xiàn)不可預(yù)測的結(jié)果。17精選課件pptSQLServer支持的全局變量主要包括:
@@CONNECTIONS:返回自最近一次啟動SQLServer以來連接或試圖連接的次數(shù)。@@ERROR:返回最后執(zhí)行SQL語句的錯(cuò)誤代碼。@@ROWCOUNT:返回上一次語句影響的數(shù)據(jù)行的行數(shù)。@@SERVERNAME:返回運(yùn)行SQLServer的本地服務(wù)器的名稱。@@VERSION:返回SQLServer當(dāng)前安裝的日期、版本和處理器類型。全局變量的查看語句同局部變量:SELECT@@variable18精選課件pptSQLServer2000的運(yùn)算符主要有以下六大類:算術(shù)運(yùn)算符位運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符字符串串聯(lián)運(yùn)算符賦值運(yùn)算符2運(yùn)算符與表達(dá)式
19精選課件ppt1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符有:+(加)、-(減)、*(乘)、/(除)和%(求模)五種運(yùn)算。+(加)和–(減)運(yùn)算符也可用于對datetime及smalldatetime值進(jìn)行算術(shù)運(yùn)算?!纠?】求學(xué)生的年齡。USEXSCJSETNOCOUNTONDECLARE@startdatedatetimeSET@startdate=getdate()/*當(dāng)前日期*/SELECT@startdate–出生時(shí)間AS年齡FROMXS20精選課件ppt位運(yùn)算符在兩個(gè)表達(dá)式之間執(zhí)行位操作,這兩個(gè)表達(dá)式的類型可為整型或與整型兼容的數(shù)據(jù)類型(如:字符型等,但不能為image類型)。位運(yùn)算符如表所示。
2.位運(yùn)算符運(yùn)算符運(yùn)算規(guī)則&兩個(gè)位均為1時(shí),結(jié)果為1,否則為0|只要一個(gè)位為1,結(jié)果為1,否則為0^兩個(gè)位值不同時(shí),結(jié)果為1,否則為021精選課件ppt比較運(yùn)算符(又稱關(guān)系運(yùn)算符)如表所示,用于測試兩個(gè)表達(dá)式的值是否相同,其運(yùn)算結(jié)果為邏輯值,可以為三種之一:TRUE、FALSE及UNKNOWN。3.比較運(yùn)算符運(yùn)算符含義=相等>大于<小于>=大于等于<=小于等于<>、!=不等于!<不小于!>不大于22精選課件ppt邏輯運(yùn)算符用于對某個(gè)條件進(jìn)行測試,運(yùn)算結(jié)果為TRUE或FALSE。SQLServer提供的邏輯運(yùn)算符如表所示。4.邏輯運(yùn)算符運(yùn)算符運(yùn)算規(guī)則AND如果兩個(gè)操作數(shù)值都為TRUE,運(yùn)算結(jié)果為
TRUE。OR如果兩個(gè)操作數(shù)中有一個(gè)為TRUE,運(yùn)算結(jié)果為TRUE。NOT若一個(gè)操作數(shù)值為TRUE,運(yùn)算結(jié)果為FALSE,否則為TRUE。ALL如果每個(gè)操作數(shù)值都為TRUE,運(yùn)算結(jié)果為TRUE。ANY在一系列操作數(shù)中只要有一個(gè)為
TRUE,運(yùn)算結(jié)果為TRUE。BETWEEN如果操作數(shù)在指定的范圍內(nèi),運(yùn)算結(jié)果為TRUE。EXISTS如果子查詢包含一些行,運(yùn)算結(jié)果為TRUE。IN如果操作數(shù)值等于表達(dá)式列表中的一個(gè),運(yùn)算結(jié)果為TRUE。LIKE如果操作數(shù)與一種模式相匹配,運(yùn)算結(jié)果為TRUE。SOME如果在一系列操作數(shù)中,有些值為TRUE,運(yùn)算結(jié)果為TRUE。23精選課件pptLIKE的使用語法格式:match_expression[NOT]LIKEpattern[ESCAPEescape_character]通配符說明示例%代表0個(gè)或多個(gè)字符。WHERE姓名
LIKE'劉%'
查詢姓劉的學(xué)生。_(下劃線)代表單個(gè)字符。WHERE姓名LIKE'張_'
查詢姓張的名為一個(gè)漢字的所有人名。[]指定范圍
(如:[a-f]、[0-9])或集合
(如[abcdef])中的任何單個(gè)字符。WHEREsubstring(學(xué)號,1,1)LIKE'[12]%'查詢首字符為1、2的學(xué)號。[^]指定不屬于范圍
(如:[^a-f]、[^0-9])或集合
(如:[^abcdef])的任何單個(gè)字符。WHEREsubstring(學(xué)號,1,1)LIKE‘[^1-9]%’
查詢首字符不為1-9任一字符的學(xué)號。24精選課件ppt【例7】查詢課程名以C或A開頭的情況。USEXSCJSELECT*FROMKCWHERE課程名LIKE'[AC]%'25精選課件ppt通過運(yùn)算符“+”實(shí)現(xiàn)兩個(gè)字符串的聯(lián)接運(yùn)算。將“+”號兩邊的字符串串聯(lián)成一個(gè)字符串?!纠?】多個(gè)字符串的聯(lián)接。USEXSCJSELECT(學(xué)號+‘,’+SPACE(1)+姓名)AS學(xué)號及姓名FROMXSWHERESUBSTRING(學(xué)號,1,2)=‘19’/*取子串*/5.字符串聯(lián)接運(yùn)算符26精選課件ppt一元運(yùn)算符有+(正)、-(負(fù))和~(按位取反)。如a的值為12(0000000000001100)則~a的值為:11111111111100116.一元運(yùn)算符27精選課件ppt7.賦值運(yùn)算符T-SQL只有一個(gè)賦值運(yùn)算符,即等號(=)。賦值運(yùn)算符可以將數(shù)據(jù)值指派給特定的對象。如給局部變量賦值的SET和SELECT語句中使用的“=”。利用賦值運(yùn)算符可以在列標(biāo)題和為列定義值的表達(dá)式之間建立對應(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語句
在程序中如果要對給定的條件進(jìn)行判定,當(dāng)條件為真或假時(shí)分別執(zhí)行不同的T-SQL語句,可用IF...ELSE語句實(shí)現(xiàn)。語法格式:IFBoolean_expression/*條件表達(dá)式*/{sql_statement|statement_block} /*條件表達(dá)式為真時(shí)執(zhí)行*/[ELSE{sql_statement|statement_block}] /*條件表達(dá)式為假時(shí)執(zhí)行*/30精選課件pptIF…ELSE語句中,IF子句是必須的,ELSE子句是可選的,最簡單的IF語句沒有ELSE子句部分。
SQLServer允許嵌套使用IF…ELSE語句,而且嵌套層數(shù)沒有限制。IF條件表達(dá)式
A/*T-SQL語句或語句塊*/ELSEB
/*T-SQL語句或語句塊*/當(dāng)條件表達(dá)式的值為真時(shí)執(zhí)行A,然后執(zhí)行IF語句的下一語句;條件表達(dá)式的值為假時(shí)執(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語句將多個(gè)T-SQL語句組合成一個(gè)語句塊,并將它們視為一個(gè)單元處理。在條件語句和循環(huán)等控制流程語句中,當(dāng)符合特定條件便要執(zhí)行兩個(gè)或者多個(gè)語句時(shí),就需要使用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"中每個(gè)字符的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語句用于無條件地終止一個(gè)查詢、存儲過程或者批處理,此時(shí)位于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語句來實(shí)現(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ù)字表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回結(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)、負(fù)(-1)或零(0)RAND([SEED]):產(chǎn)生隨機(jī)數(shù)函數(shù)4.系統(tǒng)內(nèi)置函數(shù)介紹
47精選課件ppt2.字符串函數(shù)
字符串函數(shù)可以對二進(jìn)制數(shù)據(jù)、字符串和表達(dá)式執(zhí)行不同的運(yùn)算。大多數(shù)字符串函數(shù)只能用于char和varchar數(shù)據(jù)類型以及明確轉(zhuǎn)換成char和varchar的數(shù)據(jù)類型,少數(shù)幾個(gè)字符串函數(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:返回左端第一個(gè)字符的ASCII值語法格式:ASCII(character_expression)
3)LEFT:返回從字符串左邊開始指定個(gè)數(shù)的字符語法格式:LEFT(character_expression,integer_expression)RIGHT:返回從字符串右邊開始指定個(gè)數(shù)的字符50精選課件ppt【例15】返回課程名最左邊的8個(gè)字符,最右邊的2個(gè)字符,并顯示出相應(yīng)的ASCII碼。USEXSCJSELECTLEFT(課程名,8),RIGHT(課程名,2),ASCII(LEFT(課程名,8)),ASCII(RIGHT(課程名,2))FROMKCORDERBY課程號GO51精選課件ppt【例16】使用LTRIM字符刪除字符變量中的起始空格。DECLARE@stringvarchar(40)SET@string='中國,一個(gè)古老而偉大的國家'SELECTLTRIM(@string)GO4)LTRIM:刪除字符串左邊的空格,并返回字符串語法格式:LTRIM(character_expression)RTRIM:刪除字符串右邊的空格52精選課件ppt5)REPLACE:用第三個(gè)表達(dá)式的值替換第一個(gè)表達(dá)式中包含第二個(gè)表達(dá)式的部分。語法格式: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)在給定的表達(dá)式中查找指定字符串的起始位置55精選課件ppt在選擇價(jià)格位于$11和$20之間的書名時(shí),利用SUBSTRING函數(shù)從字符串中返回指定的字符串,并使用LOWER函數(shù)、UPPER函數(shù)返回大寫和小寫的書名。其源程序清單為:USEpubsSELECTLOWER(SUBSTRING(title,1,20))ASLower,UPPER(SUBSTRING(title,1,20))ASUpper,FROMtitlesWHEREpricebetween11.00AND20.0056精選課件ppt[例18]定義一個(gè)局部變量,其類型為VARCHAR,并給該變量輸入值為“
thisistest”。利用字符串函數(shù)實(shí)現(xiàn)以下操作,并顯示結(jié)果值:1。刪除該字符變量起始空格和末尾空格;2。返回該變量右邊開始的四個(gè)字符;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子句以及表達(dá)式中使用系統(tǒng)函數(shù)。
59精選課件ppt1)CASE函數(shù)
CASE函數(shù)可以計(jì)算多個(gè)條件式,并將其中一個(gè)符合條件的結(jié)果表達(dá)式返回。CASE函數(shù)的語法形式CASE
WHENBoolean_expressionTHENresult_expression
[...n]
[
ELSEelse_result_expression
END
60精選課件ppt【例19】根據(jù)學(xué)生的年齡范圍顯示相應(yīng)信息。/*使用CASE搜索函數(shù)的SELECT語句*/USEXSCJSELECT學(xué)號,年齡=CASEWHENgetdate()-出生時(shí)間<=20THEN'年齡較小'WHENgetdate()-出生時(shí)間>=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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西鐵路工程職業(yè)技術(shù)學(xué)院《平面廣告》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西師范大學(xué)《表現(xiàn)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年蛋奶酥機(jī)項(xiàng)目可行性研究報(bào)告
- 造價(jià)咨詢合同范例封皮
- 字畫銷售合同范例
- 2024年滑片輸油泵項(xiàng)目可行性研究報(bào)告
- 訂餐采購合同范例
- 2024年地上栓項(xiàng)目可行性研究報(bào)告
- 公寓車位出售合同范例
- 五年級數(shù)學(xué)(小數(shù)除法)計(jì)算題專項(xiàng)練習(xí)及答案
- 最新標(biāo)點(diǎn)符號用法
- 特困人員生活自理能力評估表
- 預(yù)拌混凝土企業(yè)質(zhì)量管理體系·程序文件
- 外國人換發(fā)或補(bǔ)發(fā)永久居留證件申請表樣本
- 塔吊安裝旁站監(jiān)理記錄表(示范稿)
- GCC認(rèn)證對整車的一般要求
- OBD-II標(biāo)準(zhǔn)故障代碼表
- 施工現(xiàn)場類安全隱患排查清單表
- 采購項(xiàng)目組織履約、驗(yàn)收方案、程序、辦法
- 送貨單(三聯(lián)針式打印)
- pdca循環(huán)在護(hù)理教學(xué)中的應(yīng)用學(xué)習(xí)教案
評論
0/150
提交評論