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

下載本文檔

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

文檔簡(jiǎn)介

1、GO-下面是的的結(jié)果集GO-下面是的的結(jié)果集第十二章Transact-SQL 語(yǔ)言 第十二章Transact-SQL 語(yǔ)言 第十七課17.1 數(shù)學(xué)函數(shù) 17.2 字符串函數(shù)17.3 日期和時(shí)間函數(shù)17.4 元數(shù)據(jù)函數(shù)17.5 系統(tǒng)函數(shù)17.6 聚合函數(shù) 課后作業(yè) SQL Server系統(tǒng)內(nèi)置函數(shù) 第十七課17.1 數(shù)學(xué)函數(shù) SQL Server系統(tǒng)內(nèi)置函數(shù) SQL Server的數(shù)學(xué)函數(shù)主要用來(lái)對(duì)數(shù)值表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回運(yùn)算結(jié)果。數(shù)學(xué)函數(shù)也可以對(duì)SQL Server提供的數(shù)值數(shù)據(jù)(decimal、integer、float、real、money、smallmoney、smallint和ti

2、nyint)進(jìn)行處理。常用的數(shù)學(xué)函數(shù)見(jiàn)表12-2。 【例17.1】求絕對(duì)值。 SELECT ABS(-1.0), ABS(0.0), ABS(1.0) 下面是結(jié)果集: 1.0 0.0 1.0 【例17.2】顯示使用 CEILING 函數(shù)的正數(shù)、負(fù)數(shù)和零值。 SELECT CEILING($123.45), CEILING($-123.45), CEILING($0.0) GO 下面是結(jié)果集: 124.00 -123.00 0.00 17.1 數(shù)據(jù)函數(shù) SQL Server的數(shù)學(xué)函數(shù)主要用來(lái)對(duì)數(shù)值表 【例17.3】計(jì)算給定角度的 SIN 值。 DECLARE angle float SET an

3、gle = 45.175643 SELECT The SIN of the angle is: + CONVERT(varchar,SIN(angle) GO 結(jié)果: The SIN of the angle is: 0.929607 【例17.4】使用RAND 函數(shù)產(chǎn)生4個(gè)不同的隨機(jī)值。 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

4、 END GO 17.1 數(shù)據(jù)函數(shù) 【例17.3】計(jì)算給定角度的 SIN 值。1 【例17.5】 求半徑為 1 英寸、高為 5 英寸的圓柱容積。 DECLARE h float, r float SET h = 5 SET r = 1 SELECT PI()* SQUARE(r)* h AS 圓柱容積 下面是結(jié)果: 圓柱容積 15.707963267948966 【例17.6】求 1.00 到 10.00 之間的數(shù)字的平方根。 DECLARE myvalue float SET myvalue = 1.00 WHILE myvalue 10.00 BEGIN SELECT SQRT(myval

5、ue) SELECT myvalue = myvalue + 1 END GO17.1 數(shù)據(jù)函數(shù) 【例17.5】 求半徑為 1 英寸、高為 5 【例17.7】計(jì)算給定float表達(dá)式的 LOG。 DECLARE var float SET var = 5.175643 SELECT The LOG of the variable is: + CONVERT(varchar,LOG(var) GO 下面是結(jié)果集: The LOG of the variable is: 1.64396 (1 row(s) affected)17.1 數(shù)據(jù)函數(shù) 【例17.7】計(jì)算給定float表達(dá)式的 L 字符串函

6、數(shù)可以對(duì)二進(jìn)制數(shù)據(jù)、字符串和表達(dá)式執(zhí)行不同的運(yùn)算。大多數(shù)字符串函數(shù)只能用于char和varchar數(shù)據(jù)類型,少數(shù)幾個(gè)字符串函數(shù)也可以用于binary、varbinary數(shù)據(jù)類型,還有某些字符串函數(shù)能夠處理text、ntext、image數(shù)據(jù)類型的數(shù)據(jù)。常用的字符串函數(shù)見(jiàn)表12-3。 【例17.8】 求解ASCII函數(shù)。 SELECT ASCII(A) AS A,ASCII(AB) AS AB 下面是結(jié)果集: A AB 65 65 【例17.9】使用CHAR函數(shù)將ASCII碼轉(zhuǎn)換為字符。 SELECT CHAR (43) , CHAR (70) , CHAR (-1) 下面是結(jié)果集: + F N

7、ULL 17.2 字符串函數(shù) 字符串函數(shù)可以對(duì)二進(jìn)制數(shù)據(jù)、字符串和表達(dá)式執(zhí) 【例17.10】 字符串大小寫(xiě)轉(zhuǎn)換。 SELECT LOWER(ABC),UPPER(xyz) 結(jié)果:abcXYZ 【例17.11】 把數(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é)果:346 * -346.88 347 347 【例17.12】從字符串中取出子字符串。 SELECT LEFT(SQL Server,3), RIGHT(SQLServer,3),LEFT(RIGHT(SQL

8、Server,6),4) 結(jié)果:SQL ver Serv 【例17.13】字符串替換。 SELECT REPLACE(計(jì)算機(jī)網(wǎng)絡(luò),網(wǎng)絡(luò),通信理論),STUFF(關(guān)系數(shù)據(jù)庫(kù)理論,6,2,與SQL) 結(jié)果:計(jì)算機(jī)通信理論關(guān)系數(shù)據(jù)庫(kù)與SQL17.2 字符串函數(shù) 【例17.10】 字符串大小寫(xiě)轉(zhuǎn)換。17.2 日期和時(shí)間函數(shù)用于對(duì)日期和時(shí)間數(shù)據(jù)進(jìn)行各種不同的處理和運(yùn)算,并返回一個(gè)字符串、數(shù)字值或日期和時(shí)間值。T-SQL提供的日期和時(shí)間函數(shù)見(jiàn)表12-4。 【例17.14】獲取系統(tǒng)日期函數(shù)和時(shí)間的年份、月份、日期。 SELECT GETDATE(),DAY(GETDATE(),MONTH(GETDATE()

9、,year(GETDATE() 下面是結(jié)果集: 2019-12-16 19:46:06.45016122019 【例17.15】返回當(dāng)前月份。 SELECT DATEPART(month, GETDATE() AS 月份 GO 下面是結(jié)果集: 月份 1217.3 日期和時(shí)間函數(shù) 日期和時(shí)間函數(shù)用于對(duì)日期和時(shí)間數(shù)據(jù)進(jìn)行各種不同 【例17.16】返回指定日期加上額外日期后產(chǎn)生的新日期。 SELECT DATEADD(day,12,10/18/2019),DATEADD(month,2,10/18/2019) SELECT DATEADD(year,1,10/18/2019) GO 下面是結(jié)果集:

10、2019-10-30 00:00:00.0002019-12-18 00:00:00.000 2009-10-18 00:00:00.00017.3 日期和時(shí)間函數(shù) 【例17.16】返回指定日期加上額外日期后產(chǎn)生 元數(shù)據(jù)函數(shù)返回有關(guān)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的信息。T-SQL中的主要元數(shù)據(jù)函數(shù)見(jiàn)表12-5。 【例17.17】 返回列的長(zhǎng)度和列的名稱。 USE STUMS GO SELECT COL_LENGTH(班級(jí),班級(jí)名稱),COL_NAME(OBJECT_ID(班級(jí)), 1) GO 下面是結(jié)果集: 20 班號(hào) 【例17.18】返回?cái)?shù)據(jù)庫(kù)標(biāo)識(shí)號(hào)。 USE master GO SELECT name

11、, DB_ID(name) FROM sysdatabases ORDER BY dbid GO17.4 元數(shù)據(jù)函數(shù) 例17-18的結(jié)果集:master1tempdb2model3msdb4pubs5Northwind6STUMS7 元數(shù)據(jù)函數(shù)返回有關(guān)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的信息。T 系統(tǒng)函數(shù)對(duì) SQL Server 中的值、對(duì)象和設(shè)置進(jìn)行操作并返回有關(guān)信息。T-SQL中的主要系統(tǒng)函數(shù)見(jiàn)表12-6。 【例17.19】使用 CURRENT_USER返回當(dāng)前用戶名。 SELECT The current user is: + convert(char(30), CURRENT_USER) 下面是結(jié)果集

12、: The current user is: dbo 【例17.20】 使用SYSTEM_USER返回當(dāng)前系統(tǒng)用戶名。DECLARE sys_usr char(30) SET sys_usr = SYSTEM_USER SELECT The current system user is: + sys_usr GO 下面是結(jié)果集: The current system user is: sa 17.5 系統(tǒng)函數(shù) 系統(tǒng)函數(shù)對(duì) SQL Server 中的值、對(duì) 【例17.21】查找“系部”表中“系部名稱”列的長(zhǎng)度。 SELECT length = DATALENGTH(系部名稱), 系部名稱 FRO

13、M 系部 ORDER BY 系部名稱 GO 下面是結(jié)果集: length 系部名稱 6 船舶系 6 管信系 6 航海系 6 機(jī)電系 10 交通工程系 6 輪機(jī)系 6 藝術(shù)系17.5 系統(tǒng)函數(shù) 【例17.21】查找“系部”表中“系部名稱”列 聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單一的值。除COUNT 函數(shù)之外,聚合函數(shù)忽略空值。聚合函數(shù)經(jīng)常與SELECT語(yǔ)句的GROUP BY 子句一同使用。T-SQL中的主要聚合函數(shù)見(jiàn)表12-7。 【例17.22】統(tǒng)計(jì)各門(mén)課程的平均成績(jī)。 USE STUMS GO SELECT 課程號(hào),AVG(成績(jī)) AS 平均成績(jī) FROM 選課 GROUP BY 課程號(hào) GO 下面是結(jié)果集: 課程號(hào) 平均成績(jī) 011176 030179 030788 031055 031159 07067617.6 聚合函數(shù) 聚合函數(shù)對(duì)一組值執(zhí)行計(jì)算并返回單一的值。除C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論