資源描述:
《t_sql函數(shù)習(xí)題及答案(完整版)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、作業(yè)參考答案:--1.設(shè)數(shù)據(jù)庫中有學(xué)生成績表sc(snochar(10),cnochar(5),gradetinyint),設(shè)計(jì)一個(gè)函數(shù)Count_course,返回指定學(xué)生的選修的課程門數(shù).注意:沒有選修時(shí)應(yīng)返回0;createfunctionCount_course(@snochar(10))returnsintasbeginreturn(selectcount(0)fromscwheresno=@sno)end--2.寫一個(gè)T-sql函數(shù)reversion,完成顛倒一個(gè)字符串,即:selec
2、tdbo.reversion('abcd')輸出的結(jié)果為dcba;createfunctionreversion(@strvarchar(4000))returnsvarchar(4000)asbegindeclare@retvarchar(4000)declare@iintset@ret=''set@i=len(@str)while@i>0beginset@ret=@ret+substring(@str,@i,1)set@i=@i-1endreturn@retend--selectdbo.rev
3、ersion('abcdefg')--對(duì)照:下面的算法有錯(cuò)誤,當(dāng)字符串長度超過2000后不能得到正確結(jié)果createalterfunctionreversion2(@strvarchar(4000))returnsvarchar(4000)asbegindeclare@iint,@jintset@i=len(@str)set@j=len(@str)while@i>0beginset@str=@str+substring(@str,@i,1)set@i=@i-1endset@str=right(@s
4、tr,@j)return@strend--selectdbo.reversion2('abcdefg')--3.寫一個(gè)函數(shù)T-sql函數(shù)elimination(a,b)將出現(xiàn)在第一個(gè)字符串中的第二個(gè)字符串中的所有字符刪除,即:selectdbo.elimination('abcdefg12345','bd2')輸出為:acefg1345;createfunctionelimination(@avarchar(4000),@bvarchar(4000))returnsvarchar(4000)asb
5、egin--declare@retvarchar(4000)declare@iint--set@ret=''set@i=1while@i6、7.12)輸出為:肆仟伍佰陸拾柒元壹角貳分;/*方法二:推薦使用的方法,支撐兩種轉(zhuǎn)換類型selectdbo.Convert_money('20002.45',0)selectdbo.Convert_money('20002.45',1)*/CreatefunctionConvert_money(@n_LowerMoneynumeric(15,2),@v_TransTypeint)returnsvarchar(200)ASbeginDeclare@v_LowerStrVARCHAR(200)--小寫
7、金額Declare@v_UpperPartVARCHAR(200)yearsmortgagehousing;4.mortgageregistrationformalitiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateral5Declare@v_UpperStrVARCHAR(200)--大寫金額Declare@i_Iintsel
8、ect@v_LowerStr=LTRIM(RTRIM(STR(@n_LowerMoney,20,2)))--四舍五入為指定的精度并刪除數(shù)據(jù)左右空格select@i_I=1select@v_UpperStr=''while(@i_I<=len(@v_LowerStr))beginselect@v_UpperPart=casesubstring(@v_LowerStr,len(@v_LowerStr)-@i_I+1,1)WHEN'.'THEN'元'WHEN'0'THEN'零'WHEN'