版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第15章SQL函數(shù)重點內(nèi)容聚合函數(shù)數(shù)學函數(shù)字符串函數(shù)日期和時間函數(shù)轉(zhuǎn)換函數(shù)聚合函數(shù)聚合函數(shù)又稱為統(tǒng)計函數(shù)或匯總函數(shù),它對一組值進行計算并返回一個數(shù)值,是SQL中使用最多的一類函數(shù),實現(xiàn)對數(shù)據(jù)更加豐富的操作。聚合函數(shù)經(jīng)常與SELECT語句的GroupBy子句一起使用。除了Count以外,聚合函數(shù)都會忽略空值常用函數(shù)列表函數(shù)名函數(shù)功能Sum返回表達式中所有值的和或僅非重復值的和Avg返回組中各值的平均值Min返回表達式的最小值Max返回表達式的最大值Count返回組中的項數(shù)聚合函數(shù)用Sum函數(shù)求和用于計算表達式中所有值的和或者非重復值的和,Sum只能用于數(shù)字列,且忽略表達式中的Null值,語法為Sum([All|Distinct]expression)其中,All計算所有值的和;Distinct則返回非重復值的和,即去除表達式中的重復值;默認情況下為All。Expression可以是常量、列、函數(shù)以及算術運算符、位運算符和字符串運算符的任意組合。Expression是精確數(shù)值或近似數(shù)值數(shù)據(jù)類型(bit數(shù)據(jù)類型除外)的表達式。用Avg函數(shù)求平均值Avg函數(shù)可以返回某一列的平均值,這在實際操作中使用較為頻繁。Avg函數(shù)返回組中各值的平均值會忽略表達式中的Null值。語法Avg([All|Distinct]expression)其中,All計算所有值的平均值;Distinct則去除表達式中的重復值;All為默認值。Expression是精確數(shù)值或近似數(shù)值數(shù)據(jù)類型(bit數(shù)據(jù)類型除外)的表達式。聚合函數(shù)用Min函數(shù)返回最小值Min函數(shù)返回表達式的最小值,語法:Min([All|Distinct]expression)其中All表示對表達式的所有值進行聚合計算,Distinct去除表達式中的重復值。Distinct對于Min無意義,使用它僅僅是為了符合ISO標準。Expression可以為常量、列名或函數(shù),以及算術運算符、位運算符和字符串運算符的任意組合。Min可用于numeric、char、varchar、uniqueidentifier或datetime列,但不能用于bit列。用Max函數(shù)返回最大值Max函數(shù)返回表達式的最大值,語法:Max([All|Distinct]expression)其中All表示對表達式的所有值進行聚合計算;Distinct去除表達式中的重復值。Distinct對于Max無意義,使用它僅僅是為了符合ISO標準。Expression可以為常量、列名或函數(shù),以及算術運算符、位運算符和字符串運算符的任意組合。Max可用于numeric、char、varchar、uniqueidentifier或datetime列,但不能用于bit列。聚合函數(shù)用Count函數(shù)統(tǒng)計表記錄數(shù)Count函數(shù)用于計數(shù),返回組中的項數(shù),返回int數(shù)據(jù)類型值。如果SELECT語句中有WHERE子句,Count函數(shù)則返回滿足WHERE條件子句中記錄的個數(shù)。語法結(jié)構(gòu)Count({[[All|Distinct]expression]|*})其中All對所有值進行計數(shù)統(tǒng)計,Distinct去除表達式中的重復值和NULL值,All為默認值。Expression可以是除text、image或ntext以外任何類型的表達式。*則表示計算所有行以返回表中行的總數(shù),Count(*)不需要任何參數(shù),而且不能與Distinct一起使用。用Distinct函數(shù)取不重復記錄Dinstinct函數(shù)用于刪除指定集中的重復值,并返回結(jié)果集,語法結(jié)構(gòu):Dinstinct(Expression)查詢重復記錄查詢表中的重復記錄,可以使用Having子句完成,該子句可以指定分組的過濾條件,它通常與GroupBy子句一起使用數(shù)學函數(shù)數(shù)學函數(shù)根據(jù)輸入值執(zhí)行相應功能,并返回結(jié)果。算術函數(shù)的返回值與輸入值具有相同數(shù)據(jù)類型。三角函數(shù)和其他函數(shù)將輸入值轉(zhuǎn)換為float并返回float值。常用函數(shù)列表函數(shù)名函數(shù)功能Abs返回絕對值Pi返回圓周率Power(x,y)返回xy,其中x為數(shù)值表達式Rand返回0~1的隨機float值Round將數(shù)字表達式四舍五入到指定的長度或精度Square返回表達式平方值Sqrt返回表達式的平方根數(shù)學函數(shù)用Abs函數(shù)求絕對值Abs函數(shù)返回指定數(shù)值表達式的絕對值,其語法為:Abs(numeric_expression)其中,numeric_expression為精確數(shù)值或近似數(shù)值數(shù)據(jù)類型的表達式。用Pi函數(shù)求圓周率Pi函數(shù)返回圓周率的常量,其語法為:Pi()Pi函數(shù)無參數(shù),返回結(jié)果為float類型數(shù)據(jù)。Power(乘方)函數(shù)返回指定表達式的冪值,其語法為:Power(float_expression,y)其中,float_expression為float類型或能隱式轉(zhuǎn)換為float類型的表達式;對float_expression進行冪運算,y可以是精確數(shù)字或近似數(shù)字數(shù)據(jù)類型(bit數(shù)據(jù)類型除外)的表達式。數(shù)學函數(shù)Rand(隨機浮點數(shù))函數(shù)Rand函數(shù)返回一個介于0到1(不包括0和1)之間的隨機float值,其語法為:Rand([seed])其中,參數(shù)Seed提供種子值的整數(shù)表達式(tinyint、smallint或int)。如果未指定seed,則SQLServer數(shù)據(jù)庫引擎隨機分配種子值。對于指定的種子值,返回的結(jié)果始終相同。Round(四舍五入)函數(shù)Round函數(shù)將數(shù)字表達式四舍五入到指定的長度或精度,其語法為:Round(numeric_expression,length[,function])其中,參數(shù)numeric_expression為精確數(shù)字或近似數(shù)字數(shù)據(jù)類型(bit數(shù)據(jù)類型除外)的表達式;參數(shù)length為四舍五入的精度,如果length為正數(shù),則將表達式四舍五入到length指定的小數(shù)位數(shù);如果length為負數(shù),則將表達式小數(shù)點左邊部分四舍五入到length指定的長度。參數(shù)function為要執(zhí)行的操作的類型。如果省略function或其值為0(默認值),則對表達式四舍五入。如果指定了0以外的值,則將截斷表達式。數(shù)學函數(shù)Square(平方)函數(shù)1.Square函數(shù)Square函數(shù)返回表達式平方值,其語法為:Square(float_expression)其中,float_expression是float類型或能隱式轉(zhuǎn)換為float類型的表達式。函數(shù)的返回值為float數(shù)據(jù)。Sqrt(平方根)函數(shù)Sqrt函數(shù)返回表達式的平方根,其語法為:Sqrt(float_expression)其中,參數(shù)float_expression是float類型或能隱式轉(zhuǎn)換為float類型的表達式。函數(shù)的返回值為float數(shù)據(jù)。三角函數(shù)三角函數(shù)的角度均以弧度為單位函數(shù)名函數(shù)功能Sin返回指定角度(以弧度為單位)的三角正弦值Cos返回指定角度(以弧度為單位)的三角余弦值Tan返回指定角度(以弧度為單位)的三角正切值Cot返回指定角度(以弧度為單位)的三角余切值Asin返回反正弦值Acos返回反余弦值Atan返回反正切值Atn2(expression1,expression2)返回expression1/expression2的反正切值字符串函數(shù)使用字符串函數(shù)可以對輸入字符串進行類型轉(zhuǎn)換和長度設置等操作,是數(shù)據(jù)庫處理中常用的函數(shù)類型。常用字符串函數(shù)函數(shù)名函數(shù)功能Ascii返回字符串最左側(cè)字符的ASCII代碼值Charindex返回字符串中指定表達式的起始位置Left返回字符串中從左邊開始指定個數(shù)的字符Right返回字符串中從右邊開始指定個數(shù)的字符Len返回指定字符串表達式的字符數(shù),其中不包含尾隨空格Replace用另一個字符串替換指定字符串Reverse返回字符串的逆序Str將數(shù)字數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)Substring返回字符、二進制、文本或圖像表達式的一部分字符串函數(shù)Ascii(獲取Ascii碼)函數(shù)Ascii函數(shù)用于返回字符串最左側(cè)字符的Ascii代碼值,其語法為:Ascii(character_expression)其中,character_expression為char或varchar類型的表達式,函數(shù)返回值為int。Charindex(返回字符串的起始位置)函數(shù)返回字符串中指定表達式的起始位置,其語法為:Charindex(expressionToFind,expressionToSearch[,start_location])其中,參數(shù)expressionToFind包含要查找的字符串;參數(shù)expressionToSearch為要查找字符串的表達式;參數(shù)start_location表示查找起始位置,如果未指定start_location,或者該參數(shù)為負數(shù)或0,則從頭開始搜索。如果找到字符串,則返回字符串的位置,否則返回0。字符串函數(shù)Left(取左邊指定個數(shù)的字符)函數(shù)返回字符串中從左邊開始指定個數(shù)的字符,其語法為:Left(character_expression,integer_expression)其中,character_expression為字符或二進制數(shù)據(jù)的表達式,可以是常量、變量或列??梢允侨魏文軌螂[式轉(zhuǎn)換為varchar或nvarchar的數(shù)據(jù)類型,text或ntext除外。否則,需要使用CAST函數(shù)對character_expression進行顯式轉(zhuǎn)換。integer_expression須為正整數(shù),指定character_expression將返回的字符數(shù)。Right(取右邊指定個數(shù)的字符)函數(shù)返回字符串中從右邊開始指定個數(shù)的字符,其語法為:Right(character_expression,integer_expression)其中character_expression為字符或二進制數(shù)據(jù)的表達式,可以是常量、變量或列??梢允侨魏文軌螂[式轉(zhuǎn)換為varchar或nvarchar的數(shù)據(jù)類型,text或ntext除外。否則,需要使用CAST函數(shù)對character_expression進行顯式轉(zhuǎn)換。integer_expression須為正整數(shù),指定character_expression將返回的字符數(shù)。字符串函數(shù)Len(返回字符個數(shù))函數(shù)Len函數(shù)返回指定字符串表達式的字符數(shù),其中不包含尾隨空格。該函數(shù)返回的字符數(shù),非字節(jié)數(shù),單字節(jié)與雙字節(jié)的字符返回相同的值。其語法為:Len(string_expression)其中,string_expression為計算長度的字符串表達式。函數(shù)Len返回的是字符數(shù),即英文字符和中文字符均返回相同的值。如果獲取字符串的字節(jié)數(shù),則應該使用Datalength函數(shù)。Replace(替換字符串)函數(shù)用另一個字符串替換指定字符串,其語法為:Replace(string_expression,string_pattern,string_replacement)string_expression為要搜索的字符串表達式;string_pattern為要查找的子字符串;string_replacement為替換字符串。Reverse(返回字符表達式的反轉(zhuǎn))函數(shù)Reverse函數(shù)返回字符串的逆序,其語法為:Reverse(string_expression)其中,string_expression是字符串或二進制數(shù)據(jù)類型的表達式。string_expression可以是常量、變量,也可以是字符或二進制數(shù)據(jù)列。字符串函數(shù)Str函數(shù)Str函數(shù)將數(shù)字數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù),其語法為:Str(float_expression[,length[,decimal]])其中,參數(shù)float_expression為帶小數(shù)點的近似數(shù)字(float)數(shù)據(jù)類型的表達式;參數(shù)length為總長度,它包括小數(shù)點、符號、數(shù)字以及空格,默認值為10;參數(shù)decimal為小數(shù)點右邊的小數(shù)位數(shù)。參數(shù)length和decimal值應該是正數(shù)。Str函數(shù)的功能也可能由Cast或Convert函數(shù)實現(xiàn),但在使用Cast或Convert實現(xiàn)類型轉(zhuǎn)換時,需指定字符長度,否則SQL將長度設為30。Substring(取字符串)函數(shù)返回字符、二進制、文本或圖像表達式的一部分,其語法為:Substring(expression,start,length)其中,參數(shù)expression是character、binary、text、ntext或image表達式;參數(shù)start指定返回字符的起始位置;length指定要返回的字符數(shù)。如果參數(shù)expression是其中一個受支持的字符數(shù)據(jù)類型,則返回字符數(shù)據(jù);如果expression是支持的binary數(shù)據(jù)類型中的一種數(shù)據(jù)類型,則返回二進制數(shù)據(jù)。日期和時間函數(shù)日期和時間函數(shù)主要用來處理日期和時間數(shù)據(jù),并返回字符串、數(shù)值或者日期時間數(shù)據(jù).常用的日期時間函數(shù)如表函數(shù)名函數(shù)功能Getdate返回當前數(shù)據(jù)庫系統(tǒng)的日期和時間Day返回指定日期的“日”Month返回指定日期的“月”Year返回指定日期的“年”Datediff返回兩個指定日期的日期和時間邊界數(shù)Dateadd返回給定日期加上時間間隔后新的datetime日期和時間函數(shù)Getdate(返回當前系統(tǒng)日期和時間)函數(shù)返回當前數(shù)據(jù)庫系統(tǒng)的日期和時間,其語法為:Getdate()Getdate()函數(shù)不使用參數(shù),返回的結(jié)果為datetime型數(shù)據(jù)。Day(返回指定日期的天)函數(shù)返回指定日期的“日”,返回的結(jié)果為int型數(shù)據(jù),其語法為:Day(date)其中,參數(shù)date是一個可以解析為time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表達式。Month(返回指定日期的月)函數(shù)返回指定日期的月份,返回的結(jié)果為int型數(shù)據(jù),其語法為:Month(date)其中參數(shù)date是一個可以解析為time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表達式。日期和時間函數(shù)Year(返回指定日期的年)函數(shù)返回指定日期的年份,返回的結(jié)果為int型數(shù)據(jù),其語法為:Year(date)其中參數(shù)date是一個可以解析為time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表達式。Datediff(返回日期和時間的邊界數(shù))函數(shù)返回兩個指定日期的日期和時間邊界數(shù),返回結(jié)果為int類型數(shù)據(jù),其語法為:Datediff(datepart,startdate,enddate)其中,參數(shù)datepart是指定所跨邊界類型;Startdate和Enddate都是一個可以解析為time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表達式,Startdate表示計算的開始日期,Enddate表示計算的終止日期。下表列出了所有有效的datepart參數(shù)。Dateadd(添加日期時間)函數(shù)返回給定日期加上時間間隔后新的datetime,返回數(shù)據(jù)類型為date參數(shù)的數(shù)據(jù)類型,其語法為:Dateadd(datepart,number,date)參數(shù)datepart與Datediff中相同;參數(shù)number指定要相加的值;參數(shù)date是一個日期表達式,該表達式將與number相加。Datediff函數(shù)中的Datepart參數(shù)格式datepart縮寫datepart縮寫yearyy,yyyyhourhhquarterqq,qminutemi,nmonthmm,msecondss,sdayofyeardy,ymillisecondmsdaydd,dmicrosecondmcsweekwk,wwnanosecondns轉(zhuǎn)換函數(shù)種類SQLServer2016中不同類型的數(shù)據(jù)進行運算,優(yōu)先級低的數(shù)據(jù)類型會自動轉(zhuǎn)換為優(yōu)先級高的數(shù)據(jù)類型,稱之為隱式轉(zhuǎn)換。當數(shù)據(jù)類型無法自動轉(zhuǎn)換時,可以使用轉(zhuǎn)換函數(shù)地將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,稱之為顯示轉(zhuǎn)換。隱性轉(zhuǎn)換對用戶是不可見的,SQLServer2016自動將數(shù)據(jù)從優(yōu)先級低的數(shù)據(jù)轉(zhuǎn)換為優(yōu)先級高的數(shù)據(jù)類型。實例可以直接將字符數(shù)據(jù)類型或表達式與DATATIME數(shù)據(jù)類型或表達式比較當表達式中用了INTEGER、SMALLINT或TINYINT時,SQLServer也可將INTEGER數(shù)據(jù)類型或表達式轉(zhuǎn)換為SMALLINT數(shù)據(jù)類型或表達式。如果不能確定SQLServer201
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年05月招商銀行佛山分行招募2024屆實習生筆試歷年參考題庫附帶答案詳解
- 公路運輸?shù)默F(xiàn)狀和問題
- 供應鏈合作伙伴關系的管理與優(yōu)化
- 18第一章電容器的電容D演示教學
- 二零二五年度美容院美發(fā)店美容美發(fā)行業(yè)數(shù)據(jù)統(tǒng)計分析合同4篇
- 金華浙江金華永康市信訪局編外工作人員招聘筆試歷年參考題庫附帶答案詳解
- 10 我們不亂扔(說課稿)2023-2024學年統(tǒng)編版道德與法治二年級上冊
- 3學會反思(說課稿)-2023-2024學年道德與法治六年級下冊統(tǒng)編版
- 14 母雞 說課稿-2023-2024學年統(tǒng)編版語文四年級下冊
- 4 改變運輸?shù)能囕?(說課稿)-2024-2025學年科學六年級上冊教科版
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應練習題)
- 新版《鐵道概論》考試復習試題庫(含答案)
- 【律師承辦案件費用清單】(計時收費)模板
- 高中物理競賽真題分類匯編 4 光學 (學生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 西方經(jīng)濟學-高鴻業(yè)-筆記
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術教育研究策略國內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過程信息化與數(shù)字化管理
- (完整)六年級數(shù)學上冊寒假每天10道計算題5道應用題
- (2024年)版ISO9001質(zhì)量管理體系培訓教材
評論
0/150
提交評論