G 下面是的的結(jié)果集_第1頁
G 下面是的的結(jié)果集_第2頁
G 下面是的的結(jié)果集_第3頁
G 下面是的的結(jié)果集_第4頁
G 下面是的的結(jié)果集_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南通航運(yùn)職業(yè)技術(shù)學(xué)院南通航運(yùn)職業(yè)技術(shù)學(xué)院 數(shù)據(jù)庫課程組數(shù)據(jù)庫課程組第十二章第十二章transact-sql transact-sql 語言語言 第十七課17.1 17.1 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù) 17.2 17.2 字符串函數(shù)字符串函數(shù)17.3 17.3 日期和時(shí)間函數(shù)日期和時(shí)間函數(shù)17.4 17.4 元數(shù)據(jù)函數(shù)元數(shù)據(jù)函數(shù)17.5 17.5 系統(tǒng)函數(shù)系統(tǒng)函數(shù)17.6 17.6 聚合函數(shù)聚合函數(shù) 課后作業(yè)課后作業(yè) sql serversql server系統(tǒng)內(nèi)置函數(shù)系統(tǒng)內(nèi)置函數(shù) sql server的數(shù)學(xué)函數(shù)主要用來對(duì)數(shù)值表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算的數(shù)學(xué)函數(shù)主要用來對(duì)數(shù)值表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回運(yùn)算結(jié)果。數(shù)學(xué)

2、函數(shù)也可以對(duì)并返回運(yùn)算結(jié)果。數(shù)學(xué)函數(shù)也可以對(duì)sql server提供的數(shù)值數(shù)據(jù)提供的數(shù)值數(shù)據(jù)(decimal、integer、float、real、money、smallmoney、smallint和和tinyint)進(jìn)行處理。常用的數(shù)學(xué)函數(shù)見表)進(jìn)行處理。常用的數(shù)學(xué)函數(shù)見表12-2。 【例【例17.1】求絕對(duì)值?!壳蠼^對(duì)值。 select abs(-1.0), abs(0.0), abs(1.0) 下面是結(jié)果集:下面是結(jié)果集: 1.0 0.0 1.0 【例【例17.2】顯示使用】顯示使用 ceiling 函數(shù)的正數(shù)、負(fù)數(shù)和零值。函數(shù)的正數(shù)、負(fù)數(shù)和零值。 select ceiling($123

3、.45), ceiling($-123.45), ceiling($0.0) go 下面是結(jié)果集:下面是結(jié)果集: 124.00 -123.00 0.00 【例【例17.3】計(jì)算給定角度的】計(jì)算給定角度的 sin 值。值。 declare angle float set angle = 45.175643 select the sin of the angle is: + convert(varchar,sin(angle) go 結(jié)果:結(jié)果: the sin of the angle is: 0.929607 【例【例17.4】使用】使用rand 函數(shù)產(chǎn)生函數(shù)產(chǎn)生4個(gè)不同的隨機(jī)值。個(gè)不同的隨機(jī)

4、值。 declare counter smallint set counter = 1 while counter 5 begin select rand(counter) random_number set nocount on set counter = counter + 1 set nocount off end go 【例【例17.5】 求半徑為求半徑為 1 英寸、高為英寸、高為 5 英寸的圓柱容積。英寸的圓柱容積。 declare h float, r float set h = 5 set r = 1 select pi()* square(r)* h as 圓柱容積圓柱容積 下

5、面是結(jié)果:下面是結(jié)果: 圓柱容積圓柱容積 15.707963267948966 【例【例17.6】求】求 1.00 到到 10.00 之間的數(shù)字的平方根。之間的數(shù)字的平方根。 declare myvalue float set myvalue = 1.00 while myvalue 10.00 begin select sqrt(myvalue) select myvalue = myvalue + 1 end go 【例【例17.7】計(jì)算給定】計(jì)算給定float表達(dá)式的表達(dá)式的 log。 declare var float set var = 5.175643 select the log

6、 of the variable is: + convert(varchar,log(var) go 下面是結(jié)果集:下面是結(jié)果集: the log of the variable is: 1.64396 (1 row(s) affected) 字符串函數(shù)可以對(duì)二進(jìn)制數(shù)據(jù)、字符串和表達(dá)式執(zhí)行不同的字符串函數(shù)可以對(duì)二進(jìn)制數(shù)據(jù)、字符串和表達(dá)式執(zhí)行不同的運(yùn)算。大多數(shù)字符串函數(shù)只能用于運(yùn)算。大多數(shù)字符串函數(shù)只能用于char和和varchar數(shù)據(jù)類型,少數(shù)據(jù)類型,少數(shù)幾個(gè)字符串函數(shù)也可以用于數(shù)幾個(gè)字符串函數(shù)也可以用于binary、varbinary數(shù)據(jù)類型,還有數(shù)據(jù)類型,還有某些字符串函數(shù)能夠處理某些字符

7、串函數(shù)能夠處理text、ntext、image數(shù)據(jù)類型的數(shù)據(jù)。數(shù)據(jù)類型的數(shù)據(jù)。常用的字符串函數(shù)見表常用的字符串函數(shù)見表12-3。 【例【例17.8】 求解求解ascii函數(shù)。函數(shù)。 select ascii(a) as a,ascii(ab) as ab 下面是結(jié)果集:下面是結(jié)果集: a ab 65 65 【例【例17.9】使用】使用char函數(shù)將函數(shù)將ascii碼轉(zhuǎn)換為字符。碼轉(zhuǎn)換為字符。 select char (43) , char (70) , char (-1) 下面是結(jié)果集:下面是結(jié)果集: + f null 【例【例17.10】 字符串大小寫轉(zhuǎn)換。字符串大小寫轉(zhuǎn)換。 select

8、lower(abc),upper(xyz) 結(jié)果:結(jié)果:abc xyz 【例【例17.11】 把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)。把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)。 select str(346),str(346879,4),str(-346.879,8,2),str(346.8,5),str(346.8) 結(jié)果:結(jié)果:346 * -346.88 347 347 【例【例17.12】從字符串中取出子字符串?!繌淖址腥〕鲎幼址?select left(sql server,3), right(sqlserver,3),left(right(sql server,6),4) 結(jié)果:結(jié)果:sql ve

9、r serv 【例【例17.13】字符串替換。】字符串替換。 select replace(計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò),網(wǎng)絡(luò)網(wǎng)絡(luò),通信理論通信理論),stuff(關(guān)系數(shù)據(jù)庫理論關(guān)系數(shù)據(jù)庫理論,6,2,與與sql) 結(jié)果:結(jié)果:計(jì)算機(jī)通信理論計(jì)算機(jī)通信理論關(guān)系數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫與sql 日期和時(shí)間函數(shù)用于對(duì)日期和時(shí)間數(shù)據(jù)進(jìn)行各種不同的處理日期和時(shí)間函數(shù)用于對(duì)日期和時(shí)間數(shù)據(jù)進(jìn)行各種不同的處理和運(yùn)算,并返回一個(gè)字符串、數(shù)字值或日期和時(shí)間值。和運(yùn)算,并返回一個(gè)字符串、數(shù)字值或日期和時(shí)間值。t-sql提提供的日期和時(shí)間函數(shù)見表供的日期和時(shí)間函數(shù)見表12-4。 【例【例17.14】獲取系統(tǒng)日期函數(shù)和時(shí)間的年份、

10、月份、日期?!揩@取系統(tǒng)日期函數(shù)和時(shí)間的年份、月份、日期。 select getdate(),day(getdate(),month(getdate(),year(getdate() 下面是結(jié)果集:下面是結(jié)果集: 2008-12-16 19:46:06.45016122008 【例【例17.15】返回當(dāng)前月份?!糠祷禺?dāng)前月份。 select datepart(month, getdate() as 月份月份 go 下面是結(jié)果集:下面是結(jié)果集: 月份月份 12 【例【例17.16】返回指定日期加上額外日期后產(chǎn)生的新日期?!糠祷刂付ㄈ掌诩由项~外日期后產(chǎn)生的新日期。 select dateadd(da

11、y,12,10/18/2008),dateadd(month,2,10/18/2008) select dateadd(year,1,10/18/2008) go 下面是結(jié)果集:下面是結(jié)果集: 2008-10-30 00:00:00.0002008-12-18 00:00:00.000 2009-10-18 00:00:00.000 元數(shù)據(jù)函數(shù)返回有關(guān)數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象的信息。元數(shù)據(jù)函數(shù)返回有關(guān)數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象的信息。t-sql中中的主要元數(shù)據(jù)函數(shù)見表的主要元數(shù)據(jù)函數(shù)見表12-5。 【例【例17.17】 返回列的長(zhǎng)度和列的名稱。返回列的長(zhǎng)度和列的名稱。 use stums go select

12、 col_length(班級(jí)班級(jí),班級(jí)名稱班級(jí)名稱),col_name(object_id(班級(jí)班級(jí)), 1) go 下面是結(jié)果集:下面是結(jié)果集: 20 班號(hào)班號(hào) 【例【例17.18】返回?cái)?shù)據(jù)庫標(biāo)識(shí)號(hào)。】返回?cái)?shù)據(jù)庫標(biāo)識(shí)號(hào)。 use master go select name, db_id(name) from sysdatabases order by dbid go 例例17-18的結(jié)果集:的結(jié)果集:master1tempdb2model3msdb4pubs5northwind6stums7 系統(tǒng)函數(shù)對(duì)系統(tǒng)函數(shù)對(duì) sql server 中的值、對(duì)象和設(shè)置進(jìn)行操作并返中的值、對(duì)象和設(shè)置進(jìn)行操作

13、并返回有關(guān)信息?;赜嘘P(guān)信息。t-sql中的主要系統(tǒng)函數(shù)見表中的主要系統(tǒng)函數(shù)見表12-6。 【例【例17.19】使用】使用 current_user返回當(dāng)前用戶名。返回當(dāng)前用戶名。 select the current user is: + convert(char(30), current_user) 下面是結(jié)果集:下面是結(jié)果集: the current user is: dbo 【例【例17.20】 使用使用system_user返回當(dāng)前系統(tǒng)用戶名。返回當(dāng)前系統(tǒng)用戶名。declare sys_usr char(30) set sys_usr = system_user select the

14、current system user is: + sys_usr go 下面是結(jié)果集:下面是結(jié)果集: the current system user is: sa 【例【例17.21】查找】查找“系部系部”表中表中“系部名稱系部名稱”列的長(zhǎng)度。列的長(zhǎng)度。 select length = datalength(系部名稱系部名稱), 系部名稱系部名稱 from 系部系部 order by 系部名稱系部名稱 go 下面是結(jié)果集:下面是結(jié)果集: length 系部名稱系部名稱 6 船舶系船舶系 6 管信系管信系 6 航海系航海系 6 機(jī)電系機(jī)電系 10 交通工程系交通工程系 6 輪機(jī)系輪機(jī)系 6 藝

15、術(shù)系藝術(shù)系 聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單一的值。除聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單一的值。除count 函函數(shù)之外,聚合函數(shù)忽略空值。聚合函數(shù)經(jīng)常與數(shù)之外,聚合函數(shù)忽略空值。聚合函數(shù)經(jīng)常與select語句的語句的group by 子句一同使用。子句一同使用。t-sql中的主要聚合函數(shù)見表中的主要聚合函數(shù)見表12-7。 【例【例17.22】統(tǒng)計(jì)各門課程的平均成績(jī)。】統(tǒng)計(jì)各門課程的平均成績(jī)。 use stums go select 課程號(hào)課程號(hào),avg(成績(jī)成績(jī)) as 平均成績(jī)平均成績(jī) from 選課選課 group by 課程號(hào)課程號(hào) go 下面是結(jié)果集:下面是結(jié)果集: 課程號(hào)課程號(hào) 平均成績(jī)平均成績(jī) 011176 030179 030788 0310

溫馨提示

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

評(píng)論

0/150

提交評(píng)論