




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第5 5章章 輕輕松松認識函數(shù)輕輕松松認識函數(shù)函數(shù)對于任何程序設計語言來說都是非常關鍵的部分,它給函數(shù)對于任何程序設計語言來說都是非常關鍵的部分,它給用戶提供了強大的功能,幫助用戶使用簡捷的代碼實現(xiàn)復雜的功用戶提供了強大的功能,幫助用戶使用簡捷的代碼實現(xiàn)復雜的功能。函數(shù)在能。函數(shù)在Transact-SQL中代表的是能夠完成某個功能并返回值中代表的是能夠完成某個功能并返回值的一個模塊或者代碼塊。的一個模塊或者代碼塊。Transact-SQL支持兩類函數(shù):系統(tǒng)內置支持兩類函數(shù):系統(tǒng)內置函數(shù)和用戶定義函數(shù)。函數(shù)和用戶定義函數(shù)。Transact-SQL的內置函數(shù)主要包括聚合函的內置函數(shù)主要包括聚合函
2、數(shù)、游標函數(shù)、數(shù)學函數(shù)、字符串函數(shù)、系統(tǒng)函數(shù)、日期和時間數(shù)、游標函數(shù)、數(shù)學函數(shù)、字符串函數(shù)、系統(tǒng)函數(shù)、日期和時間函數(shù)、元數(shù)據(jù)函數(shù)以及文本和圖像函數(shù)等多種本章主要介紹如下函數(shù)、元數(shù)據(jù)函數(shù)以及文本和圖像函數(shù)等多種本章主要介紹如下幾種常用的函數(shù):幾種常用的函數(shù):數(shù)學函數(shù)數(shù)學函數(shù)字符串函數(shù)字符串函數(shù)日期和時間函數(shù)日期和時間函數(shù)數(shù)據(jù)類型轉換函數(shù)數(shù)據(jù)類型轉換函數(shù)聚合函數(shù)聚合函數(shù)系統(tǒng)函數(shù)系統(tǒng)函數(shù)文本和圖像函數(shù)文本和圖像函數(shù)5.1 數(shù)學函數(shù)數(shù)學函數(shù) Transact-SQL提供了數(shù)學運算的一組函數(shù),能夠對數(shù)提供了數(shù)學運算的一組函數(shù),能夠對數(shù)字表達式進行計算,并將結果返回給用戶。這些函數(shù)是進行字表達式進行計算,
3、并將結果返回給用戶。這些函數(shù)是進行數(shù)據(jù)運算、統(tǒng)計和分析的基礎。數(shù)據(jù)運算、統(tǒng)計和分析的基礎。 5.2 5.2 字符串函數(shù)字符串函數(shù)字符串函數(shù)可以對字符串執(zhí)行查找、轉換等操作,作字符串函數(shù)可以對字符串執(zhí)行查找、轉換等操作,作用于用于CHAR、VARCHAR、 BINARY、 和和VARBINARY 數(shù)數(shù)據(jù)類型。字符串函數(shù)可以在據(jù)類型。字符串函數(shù)可以在SELECT語句的語句的SELECT和和WHERE子句以及表達式中使用字符串函數(shù)。子句以及表達式中使用字符串函數(shù)。5.2.1 ASCII5.2.1 ASCII函數(shù)函數(shù)ASCII函數(shù)返回字符串表達式最左端字符的函數(shù)返回字符串表達式最左端字符的ASCII
4、碼值。碼值。語法格式:語法格式:ASCII(character_expression)character_expression:字符或字符串類型的表達式。:字符或字符串類型的表達式。實例:查詢實例:查詢h的的ASCII碼值。碼值。SELECT ASCII(happy)返回值為返回值為104,類型為,類型為int。5.2.2 CHAR5.2.2 CHAR函數(shù)函數(shù)與與ASCII函數(shù)的功能恰好相反,函數(shù)的功能恰好相反,CHAR函數(shù)把函數(shù)把ASCII碼碼值換算成對應的字符。語法格式:值換算成對應的字符。語法格式:CHAR(integer_expression)integer_expression:02
5、55之間的整數(shù),否則返回之間的整數(shù),否則返回NULL。實例:查詢實例:查詢104對應的字符。對應的字符。SELECT CHAR(104)返回值為返回值為h,類型為,類型為char。5.2.3 CHARINDEX5.2.3 CHARINDEX函數(shù)函數(shù)CHARINDEX函數(shù)用于返回字符串中指定表達式的開始函數(shù)用于返回字符串中指定表達式的開始位置。語法格式:位置。語法格式:CHARINDEX(expression1 ,expression2 , start_location )expression1:字符串表達式,指定的搜索串:字符串表達式,指定的搜索串 。expression2:字符串表達式,包含
6、要查找的字符序列。:字符串表達式,包含要查找的字符序列。start_location:搜索的起始位置,是可選項。如不指定或:搜索的起始位置,是可選項。如不指定或者指定為者指定為0或者負值,則搜索從初始位置開始,否則從指定位或者負值,則搜索從初始位置開始,否則從指定位置開始搜索。置開始搜索。5.2.4 LEFT5.2.4 LEFT函數(shù)函數(shù)LEFT函數(shù)返回從字符串左邊開始指定個數(shù)的字符串。函數(shù)返回從字符串左邊開始指定個數(shù)的字符串。語法格式:語法格式:LEFT(character_expression , integer_expression)character_expression:integer
7、_expression:實例:返回字符串前實例:返回字符串前6個字符以及前個字符以及前20個字符。個字符。SELECT LEFT(I hava many friends,6)SELECT LEFT(I hava many friends,20)第一條語句返回值為第一條語句返回值為“I hava”,第二條語句返回值為,第二條語句返回值為“I hava many friends”,即如果指定長度超過字符串的長度,即如果指定長度超過字符串的長度,并不會出錯,而是返回整個字符串。,并不會出錯,而是返回整個字符串。5.2.5 RIGHT5.2.5 RIGHT函數(shù)函數(shù)RIGHT函數(shù)與函數(shù)與LEFT函數(shù)功能
8、相反,它返回從字符串右邊函數(shù)功能相反,它返回從字符串右邊開始指定個數(shù)的字符串。語法格式:開始指定個數(shù)的字符串。語法格式:RIGHT(character_expression , integer_expression)character_expression: integer_expression:實例:返回給定字符串后實例:返回給定字符串后7個字符以及該這七個字符的第個字符以及該這七個字符的第一個字符。一個字符。SELECT RIGHT(I hava many friends,7)SELECT LEFT(RIGHT(I hava many friends,7),1)第一條語句返回值為第一條語句
9、返回值為“friends”,第二條語句返回值為,第二條語句返回值為f,即先使用,即先使用RIGHT(I hava many friends,7)求出最后求出最后7個字符組個字符組成的字符串,然后再使用成的字符串,然后再使用LEFT函數(shù)求出該字符串的首字符。函數(shù)求出該字符串的首字符。5.2.6 LEN5.2.6 LEN函數(shù)函數(shù)LEN函數(shù)用于返回指定字符串的總長度,即包含的字函數(shù)用于返回指定字符串的總長度,即包含的字符的個數(shù)。語法格式:符的個數(shù)。語法格式:LEN(string_expression)string_expression n:指定的需計算長度的字符串。:指定的需計算長度的字符串。實例:
10、計算給定字符串的長度。實例:計算給定字符串的長度。 SELECT LEN(friends)SELECT LEN(朋友朋友)SELECT LEN(2046)這三條語句的返回值依次為這三條語句的返回值依次為7、2、4,需要注意的是一,需要注意的是一個漢字也是作為一個字符處理的,同時純數(shù)字組成的串可以個漢字也是作為一個字符處理的,同時純數(shù)字組成的串可以不加不加,但如果是數(shù)字和字符混合出現(xiàn)時必須要加上,但如果是數(shù)字和字符混合出現(xiàn)時必須要加上。5.2.7 LTRIM5.2.7 LTRIM函數(shù)函數(shù)LTRIM函數(shù)用于去除指定字符串左邊的空格。語法格函數(shù)用于去除指定字符串左邊的空格。語法格式:式:LTRIM(
11、character_expression)character_expression:指定字符串或二進制表達式。:指定字符串或二進制表達式。實例:去除指定字符串前的空格。實例:去除指定字符串前的空格。SELECT LTRIM( There are two space in the left)SELECT LTRIM(There are two space and a Tab in the left)第一條語句返回值為第一條語句返回值為“There are two space in the left”,第二條語句返回值為,第二條語句返回值為There are two space and a Tab
12、 in the left,第二條語句看似空格沒有去除掉,實際,第二條語句看似空格沒有去除掉,實際上在字符串前的輸入的上在字符串前的輸入的Tab鍵造成的,并非空格。鍵造成的,并非空格。5.2.8 RTRIM5.2.8 RTRIM函數(shù)函數(shù)RTRIM函數(shù)用于去除指定字符串右邊的空格。語法格函數(shù)用于去除指定字符串右邊的空格。語法格式:式:RTRIM(character_expression)character_expression:指定字符串或二進制表達式。:指定字符串或二進制表達式。實例:去除指定字符串前后的空格。實例:去除指定字符串前后的空格。SELECT RTRIM(LTRIM( There a
13、re three space in the left and three space in the rignt )該語句的返回值為該語句的返回值為“There are three space in the left and three space in the rignt”,即先使用,即先使用LTRIM函數(shù)去除字函數(shù)去除字符串左端的空格,然后對得出的字符處去除右端的空格。符串左端的空格,然后對得出的字符處去除右端的空格。5.2.9 LOWER5.2.9 LOWER函數(shù)函數(shù)LOWER函數(shù)用于把指定的字符串中的大寫字符裝換為函數(shù)用于把指定的字符串中的大寫字符裝換為相應的小寫字符。語法格式:相應的小
14、寫字符。語法格式:LOWER(character_expression)character_expression:指定需要進行轉換的字符串。:指定需要進行轉換的字符串。實例:將字符串中的大寫字符全部轉換成小寫字符。實例:將字符串中的大寫字符全部轉換成小寫字符。SELECT LOWER(A became a after this function)該語句的返回值為該語句的返回值為“a became a after this function”,即經(jīng)過轉換大寫字符和小寫字符沒有任何區(qū)別,便于程序的即經(jīng)過轉換大寫字符和小寫字符沒有任何區(qū)別,便于程序的統(tǒng)一處理。統(tǒng)一處理。5.2.10 UPPER5.2
15、.10 UPPER函數(shù)函數(shù)UPPER函數(shù)用于把指定的字符串中的小寫字符裝換為函數(shù)用于把指定的字符串中的小寫字符裝換為相應的大寫字符。語法格式:相應的大寫字符。語法格式:UPPER(character_expression)character_expression:指定需要進行轉換的字符串。:指定需要進行轉換的字符串。實例:將字符串中的小寫字符全部轉換成大寫字符。實例:將字符串中的小寫字符全部轉換成大寫字符。SELECT UPPER(a TO A)該語句的返回值為該語句的返回值為“A TO A”。5.2.11 PATINDEX5.2.11 PATINDEX函數(shù)函數(shù)PATINDEX函數(shù)用于返回指定
16、表達式中某模式的初始函數(shù)用于返回指定表達式中某模式的初始位置,如果在字符串中未能匹配該模式,則返回位置,如果在字符串中未能匹配該模式,則返回0。語法格。語法格式:式:PATINDEX(%pattern%,expression)%pattern%:expression:實例:返回字符串實例:返回字符串in在字符串在字符串There are many tree in my garden中的初始位置。中的初始位置。SELECT PATINDEX(%in%,There are many tree in my garden)該語句的返回值為該語句的返回值為21。5.2.12 REPALCE5.2.12
17、REPALCE函數(shù)函數(shù)PEPLACE函數(shù)用于在一個字符串中用指定的字符串替換函數(shù)用于在一個字符串中用指定的字符串替換另一個字符串。語法格式:另一個字符串。語法格式:REPLACE(string_expresddion1, string_expresddion2, string_expresddion3)string_expresddion1:要搜索的原字符串,可以是字符或:要搜索的原字符串,可以是字符或二進制數(shù)據(jù)類型。二進制數(shù)據(jù)類型。 string_expresddion2:原字符串中將要被替換的字符串。:原字符串中將要被替換的字符串。string_expresddion3:指定的進行替換的字
18、符串。:指定的進行替換的字符串。5.2.13 REVERSE5.2.13 REVERSE函數(shù)函數(shù)REVERSE函數(shù)用于返回指定表達式的逆向形式。語法函數(shù)用于返回指定表達式的逆向形式。語法格式:格式:REVERSE(character_expression)character_expression:指定的用于需要進行轉換的表:指定的用于需要進行轉換的表達式,可以是字符串或二進制數(shù)據(jù)達式,可以是字符串或二進制數(shù)據(jù)實例:將字符串實例:將字符串“A fine day”進行整體反轉。進行整體反轉。SELECT REVERSE(A fine day) 該語句返回值為該語句返回值為“yad enif A”,
19、即原字符串的最后一個,即原字符串的最后一個字符作為新字符串的第一個字符,原字符串的第一個字符作字符作為新字符串的第一個字符,原字符串的第一個字符作為新字符串的最后一個字符。為新字符串的最后一個字符。5.2.14 STR5.2.14 STR函數(shù)函數(shù)STR函數(shù)用于將數(shù)字數(shù)據(jù)轉換為字符數(shù)據(jù)。語法格式:函數(shù)用于將數(shù)字數(shù)據(jù)轉換為字符數(shù)據(jù)。語法格式:STR(float_expression,length,decimal)float_expression:帶小數(shù)點的近似數(shù)字。:帶小數(shù)點的近似數(shù)字。length:包括小數(shù)點、符號、數(shù)字或空格的總長度值,:包括小數(shù)點、符號、數(shù)字或空格的總長度值,默認為默認為10
20、。decimal:小數(shù)點右邊的位數(shù)。:小數(shù)點右邊的位數(shù)。5.2.15 SUBSTRING5.2.15 SUBSTRING函數(shù)函數(shù)SUBSTRING函數(shù)用于獲取指定字符串或二進制數(shù)據(jù)的函數(shù)用于獲取指定字符串或二進制數(shù)據(jù)的一部分。語法格式:一部分。語法格式:SUBSTRING(expression,start,length)expression:字符串表達式。:字符串表達式。start:指定子串的開始位置。:指定子串的開始位置。length:指定子串的長度。:指定子串的長度。5.3 5.3 日期和時間函數(shù)日期和時間函數(shù)日期和時間函數(shù)主要用于對時間和日期有關信息的輸入、日期和時間函數(shù)主要用于對時間和
21、日期有關信息的輸入、處理及輸出操作,基本使用方式與其他函數(shù)相同。處理及輸出操作,基本使用方式與其他函數(shù)相同。函數(shù)名稱函數(shù)功能DATEADD返回指定日期加上一段時間后新的DATETIMEDATENAME返回指定日期的指定部分的字符串DAY返回指定日期的天數(shù)DAYOFYEAR返回指定日期在全年中的天數(shù)MONTH返回指定日期月份的整數(shù)YEAR返回指定日期年份的整數(shù)GETDATE返回當前系統(tǒng)時間和日期GETUTCDATE返回指定表達式的逆向形式5.3.1 DATEADD5.3.1 DATEADD函數(shù)函數(shù)DATEADD函數(shù)用于返回指定日期加上一個時間段后的新函數(shù)用于返回指定日期加上一個時間段后的新日期時
22、間值。語法格式:日期時間值。語法格式:DATEADD(datepart , number, date)datepart:返回新值的日期的組成部分,可識別的日期部:返回新值的日期的組成部分,可識別的日期部分為分為year、month、day、hour、minute、second、millsecond等。等。number:與:與datepart相加的指定值。如果該值為非整數(shù)相加的指定值。如果該值為非整數(shù)值,舍棄該值的小數(shù)部分。值,舍棄該值的小數(shù)部分。date:表達式,用于返回:表達式,用于返回datetime或日期格式的字符串?;蛉掌诟袷降淖址?。5.3.2 DATENAME5.3.2 DATEN
23、AME函數(shù)函數(shù)DATENAME函數(shù)用于返回指定日期指定部分的字符串。函數(shù)用于返回指定日期指定部分的字符串。語法格式:語法格式:DATENAME(datepart ,date)datepart:返回新值的日期的組成部分。:返回新值的日期的組成部分。date:表達式,用于返回:表達式,用于返回datetime或日期格式的字符串?;蛉掌诟袷降淖址嵗翰樵兘o定日期的星期值。實例:查詢給定日期的星期值。SELECT DATENAME(weekday,2010-10-10) 該語句的返回值為星期日,即指定時間該語句的返回值為星期日,即指定時間2010-10-10為星期為星期日。日。5.3.3 DAT
24、EPART5.3.3 DATEPART函數(shù)函數(shù)DATENPART函數(shù)用于返回指定日期指定部分的整數(shù)值。函數(shù)用于返回指定日期指定部分的整數(shù)值。語法格式:語法格式:DATEPART (datepart ,date)datepart:返回新值的日期的組成部分。:返回新值的日期的組成部分。date:表達式,用于返回:表達式,用于返回datetime或日期格式的字符串?;蛉掌诟袷降淖址?。實例:查詢給定日期的星期值。實例:查詢給定日期的星期值。SELECT DATEPART(weekday,2010-10-10) 該語句的返回值為該語句的返回值為1,此處既可以看出該函數(shù)與,此處既可以看出該函數(shù)與DATE
25、NAME函數(shù)的區(qū)別。函數(shù)的區(qū)別。5.3.4 DAY5.3.4 DAY函數(shù)函數(shù)DAY函數(shù)用于返回指定日期的天數(shù),從功能實現(xiàn)上進行函數(shù)用于返回指定日期的天數(shù),從功能實現(xiàn)上進行比較,該函數(shù)等價于比較,該函數(shù)等價于DATEPART(dd, date)函數(shù)的實現(xiàn)。語)函數(shù)的實現(xiàn)。語法格式:法格式:DAY(day)day:日期表達式。:日期表達式。實例:查詢給定日期天數(shù)。實例:查詢給定日期天數(shù)。SELECT DAY(2010-10-10) 該語句的返回值為該語句的返回值為10。5.3.5 MONTH5.3.5 MONTH函數(shù)函數(shù)MONTH函數(shù)用于返回指定日期的月份,從功能實現(xiàn)上函數(shù)用于返回指定日期的月份,
26、從功能實現(xiàn)上進行比較,該函數(shù)等價于進行比較,該函數(shù)等價于DATEPART(mm, date)函數(shù)的)函數(shù)的實現(xiàn)。語法格式:實現(xiàn)。語法格式:MONTH(day)day:日期表達式。:日期表達式。實例:查詢給定日期月份。實例:查詢給定日期月份。SELECT MONTH(2010-10-10) 該語句的返回值為該語句的返回值為10。5.3.6 YEAR5.3.6 YEAR函數(shù)函數(shù)YEAR函數(shù)用于返回指定日期的年份,從功能實現(xiàn)上進行函數(shù)用于返回指定日期的年份,從功能實現(xiàn)上進行比較,該函數(shù)等價于比較,該函數(shù)等價于DATEPART(yy, date)函數(shù)的實現(xiàn)。語)函數(shù)的實現(xiàn)。語法格式:法格式:YEAR(
27、day)day:日期表達式。:日期表達式。實例:查詢給定日期的年份。實例:查詢給定日期的年份。SELECT YEAR(2010-10-10) 該語句的返回值為該語句的返回值為2010。5.3.7 GETDATE5.3.7 GETDATE函數(shù)函數(shù)GETDATE函數(shù)用于返回系統(tǒng)的日期和時間。語法格式:函數(shù)用于返回系統(tǒng)的日期和時間。語法格式:GETDATE()參數(shù):無。參數(shù):無。實例:查詢系統(tǒng)當前時間及當前天數(shù)。實例:查詢系統(tǒng)當前時間及當前天數(shù)。SELECT GETDATE()SELECT DAY(GETDATE() 第一條語句返回值為第一條語句返回值為2010-05-30 22:21:45.043
28、,即當前的系,即當前的系統(tǒng)日期和時間;第二條語句在取得系統(tǒng)日期和時間的前提下,統(tǒng)日期和時間;第二條語句在取得系統(tǒng)日期和時間的前提下,使用使用DAY函數(shù)取得當前的天數(shù)值。函數(shù)取得當前的天數(shù)值。5.4 5.4 數(shù)據(jù)類型轉換函數(shù)數(shù)據(jù)類型轉換函數(shù) 同時處理不同數(shù)據(jù)類型的值時,同時處理不同數(shù)據(jù)類型的值時,SQLServer一般會自動一般會自動進行隱式的類型轉換。這種轉換對于相近數(shù)據(jù)類型的值是有進行隱式的類型轉換。這種轉換對于相近數(shù)據(jù)類型的值是有效的,比如說效的,比如說int型和型和float型的數(shù)據(jù),而對于其他的類型,如型的數(shù)據(jù),而對于其他的類型,如float型數(shù)據(jù)與字符型數(shù)據(jù),隱式轉換是行不通的,必須
29、使用型數(shù)據(jù)與字符型數(shù)據(jù),隱式轉換是行不通的,必須使用顯示轉換。顯示轉換。T-SQL提供兩個顯示轉換函數(shù),分別是提供兩個顯示轉換函數(shù),分別是CAST函數(shù)與函數(shù)與CONVERT函數(shù),下面將對這兩個類型轉換函數(shù)詳細介紹。函數(shù),下面將對這兩個類型轉換函數(shù)詳細介紹。5.4.1 CAST5.4.1 CAST函數(shù)函數(shù)CAST函數(shù)用于將某種類型的數(shù)據(jù)轉換為另一種類型的函數(shù)用于將某種類型的數(shù)據(jù)轉換為另一種類型的數(shù)據(jù)。語法格式:數(shù)據(jù)。語法格式:CAST (expression AS data_ type)expression:指定的需進行轉換的表達式:指定的需進行轉換的表達式AS:參數(shù)分隔符:參數(shù)分隔符data_
30、 type:目標數(shù)據(jù)類型:目標數(shù)據(jù)類型5.4.2 CONVERT5.4.2 CONVERT函數(shù)函數(shù)CONVERT函數(shù)用于按照指定的格式將數(shù)據(jù)裝換成另函數(shù)用于按照指定的格式將數(shù)據(jù)裝換成另一種類型的數(shù)據(jù)。語法格式:一種類型的數(shù)據(jù)。語法格式:CONVERT (data_ type length , expression , style) data_ type:目標系統(tǒng)所提供的數(shù)據(jù)類型,:目標系統(tǒng)所提供的數(shù)據(jù)類型,bigint和和sql_variant。length:數(shù)據(jù)長度:數(shù)據(jù)長度expression:指定的需進行轉換的表達式:指定的需進行轉換的表達式style:日期格式:日期格式實例:輸出當前系
31、統(tǒng)的日期。實例:輸出當前系統(tǒng)的日期。SELECT CONVERT(varchar(12), getdate() 該語句的返回值為該語句的返回值為05 31 2010。5.5 5.5 聚合函數(shù)聚合函數(shù)聚合函數(shù)能夠對一組值進行計算,并返回一個單一值。聚合函數(shù)能夠對一組值進行計算,并返回一個單一值。聚合函數(shù)經(jīng)常與聚合函數(shù)經(jīng)常與SELECT語句的語句的GROUPBY字句聯(lián)合使用。字句聯(lián)合使用。函數(shù)名稱函數(shù)功能DATEADD返回指定日期加上一段時間后新的DATETIMEDATENAME返回指定日期的指定部分的字符串DAY返回指定日期的天數(shù)DAYOFYEAR返回指定日期在全年中的天數(shù)MONTH返回指定日期
32、月份的整數(shù)YEAR返回指定日期年份的整數(shù)GETDATE返回當前系統(tǒng)時間和日期GETUTCDATE返回指定表達式的逆向形式5.5.1 AVG5.5.1 AVG函數(shù)函數(shù)AVG函數(shù)用于計算表達式的平均值。語法格式:函數(shù)用于計算表達式的平均值。語法格式:AVG( ALL | DISTINCT expression)ALL:對表達式的所有值進行計算,為默認設置。:對表達式的所有值進行計算,為默認設置。DISTINCT:去除重復值后計算平均值。:去除重復值后計算平均值。expression:精確數(shù)字或近似數(shù)字數(shù)據(jù)類型的表達式,:精確數(shù)字或近似數(shù)字數(shù)據(jù)類型的表達式,不允許使用聚合函數(shù)與子查詢。不允許使用聚合
33、函數(shù)與子查詢。實例:計算班級中學生的平均年齡。實例:計算班級中學生的平均年齡。SELECT AVG(stuAge) from studentInfoSELECT AVG(DISTINCT stuAge) from studentInfo 第一條語句返回值為第一條語句返回值為22,第二條語句返回值為,第二條語句返回值為23。返。返回值不同的原因在于第二條語句使用了回值不同的原因在于第二條語句使用了DISTINCT,去除,去除了數(shù)據(jù)中的重復值。了數(shù)據(jù)中的重復值。5.5.2 COUNT5.5.2 COUNT函數(shù)函數(shù)COUNT函數(shù)用于計算總數(shù)。語法格式:函數(shù)用于計算總數(shù)。語法格式:COUNT( ALL
34、 | DISTINCT expression | * )ALL:對表達式的所有值進行計算,為默認設置。:對表達式的所有值進行計算,為默認設置。DISTINCT:去除重復值后計算總數(shù)。:去除重復值后計算總數(shù)。expression:精確數(shù)字或近似數(shù)字數(shù)據(jù)類型的表達式,:精確數(shù)字或近似數(shù)字數(shù)據(jù)類型的表達式,不允許使用聚合函數(shù)與子查詢。不允許使用聚合函數(shù)與子查詢。5.5.3 MAX5.5.3 MAX函數(shù)函數(shù)MAX函數(shù)用于計算組數(shù)據(jù)中的最大值。語法格式:函數(shù)用于計算組數(shù)據(jù)中的最大值。語法格式:MAX( ALL | DISTINCT expression)ALL:對表達式中的所有值進行計算,為默認設置。:
35、對表達式中的所有值進行計算,為默認設置。DISTINCT:去除重復值后計算最大值,對于:去除重復值后計算最大值,對于MAX函函數(shù)來說,使用此設置五任何意義。數(shù)來說,使用此設置五任何意義。expression:可以是常量、列名、函數(shù)等類型,不允許:可以是常量、列名、函數(shù)等類型,不允許使用聚合函數(shù)與子查詢。使用聚合函數(shù)與子查詢。實例:求出班級中學生的最大年齡是多少。實例:求出班級中學生的最大年齡是多少。SELECT MAX(stuAge) from studentInfo該語句返回值為該語句返回值為24。5.5.4 MIN5.5.4 MIN函數(shù)函數(shù)MIN函數(shù)用于計算組數(shù)據(jù)中的最小值。語法格式:函數(shù)
36、用于計算組數(shù)據(jù)中的最小值。語法格式:MAX( ALL | DISTINCT expression)ALL:對表達式中的所有值進行計算,為默認設置。:對表達式中的所有值進行計算,為默認設置。DISTINCT:去除重復值后計算最小值。:去除重復值后計算最小值。expression:可以是常量、列名、函數(shù)等類型,不允許:可以是常量、列名、函數(shù)等類型,不允許使用聚合函數(shù)與子查詢。使用聚合函數(shù)與子查詢。實例:求出班級中學生的最小年齡是多少。實例:求出班級中學生的最小年齡是多少。SELECT MIN(stuAge) from studentInfo該語句返回值為該語句返回值為20。5.5.5 SUM5.5
37、.5 SUM函數(shù)函數(shù)SUM函數(shù)用于計算表達式中所有數(shù)據(jù)的和。語法格式:函數(shù)用于計算表達式中所有數(shù)據(jù)的和。語法格式:SUM( ALL | DISTINCT expression)ALL:對表達式中的所有值進行計算,為默認設置。:對表達式中的所有值進行計算,為默認設置。DISTINCT:去除重復值后計算數(shù)據(jù)和。:去除重復值后計算數(shù)據(jù)和。expression:可以是常量、列名、函數(shù)等類型,不允許使用:可以是常量、列名、函數(shù)等類型,不允許使用聚合函數(shù)與子查詢。聚合函數(shù)與子查詢。5.6 5.6 系統(tǒng)函數(shù)系統(tǒng)函數(shù)系統(tǒng)函數(shù)可以顯示系統(tǒng)函數(shù)可以顯示T-SQL執(zhí)行運算后返回的執(zhí)行運算后返回的SQL Server
38、服務器和數(shù)據(jù)庫中有關值、對象和設置的特殊信息。服務器和數(shù)據(jù)庫中有關值、對象和設置的特殊信息。5.6.1 SERVERPROPERTY5.6.1 SERVERPROPERTY函數(shù)函數(shù)SERVERPROPERTY函數(shù)用于查詢有關服務器實例的函數(shù)用于查詢有關服務器實例的屬性信息。語法格式:屬性信息。語法格式:SERVERPROPERTY(argument)其中,其中,argument指定要查詢的信息標志。指定要查詢的信息標志。實例:查詢服務器實例名稱。實例:查詢服務器實例名稱。SELECT CONVERT(char(15), SERVERPROPERTY(servername) 該語句返回值為當前服
39、務器所使用的實例名稱。該語句返回值為當前服務器所使用的實例名稱。5.6.2 DATABASEPROPERTY5.6.2 DATABASEPROPERTY函數(shù)函數(shù)DATABASEPROPERTY函數(shù)用于查詢指定數(shù)據(jù)庫和屬性名函數(shù)用于查詢指定數(shù)據(jù)庫和屬性名的命名數(shù)據(jù)庫屬性值。語法格式:的命名數(shù)據(jù)庫屬性值。語法格式:DATABASEPROPERTY(argument1,argument2)argument:指定數(shù)據(jù)庫。:指定數(shù)據(jù)庫。argument2:要查詢的屬性名稱:要查詢的屬性名稱實例:查詢實例:查詢master數(shù)據(jù)庫的數(shù)據(jù)庫的IsTruncLog屬性值設置情況。屬性值設置情況。SELECT D
40、ATABASEPROPERTY(master, IsTruncLog) 該語句返回值為該語句返回值為1,表示該選項設置成了,表示該選項設置成了true。5.6.3 TYPEOFPROPERTY5.6.3 TYPEOFPROPERTY函數(shù)函數(shù)TYPEOFPROPERTY函數(shù)用于查詢有關數(shù)據(jù)類型的信函數(shù)用于查詢有關數(shù)據(jù)類型的信息。語法格式:息。語法格式:TYPEOFPROPERTY(date_type,property_name)date_type:指定數(shù)據(jù)庫。:指定數(shù)據(jù)庫。property_name:要查詢的屬性名稱:要查詢的屬性名稱實例:查詢實例:查詢int與與char類型的類型的PRECISION屬性。屬性。SELECT TYPEPROPERTY( int, PRECISION)SELECT TYPEPROPERTY( char, PRECISION) 兩條語句的返回值分別為兩條語句的返回值分別為10、8000。5.6.4 OBJE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電焊工施工合同協(xié)議書
- 湖北省隨州市部分高中2024-2025學年高一下學期2月聯(lián)考地理試卷(含答案)
- 洗衣設備購銷合同共
- 健身房運營管理作業(yè)指導書
- 會議策劃與活動執(zhí)行服務協(xié)議
- 健康科技在老年健康管理中的應用解決方案
- 水利建設工程施工合同協(xié)議書
- 大學生科普小說讀后感
- 觀看紀錄片長江觀后感
- 車隊土石方運輸合同
- 2025年烏海職業(yè)技術學院單招職業(yè)技能測試題庫及完整答案一套
- 2025年湖南省長沙市單招職業(yè)傾向性測試題庫及參考答案
- 十八項核心制度培訓課件
- 2024年遠程教育行業(yè)市場運營現(xiàn)狀及行業(yè)發(fā)展趨勢報告
- 2025年2月上海市高三聯(lián)考高考調研英語試題(答案詳解)
- 2024-2025學年六年級上學期數(shù)學第三單元3.1-搭積木比賽(教案)
- DeepSeek從入門到精通
- 植保機械技術培訓課件
- 2024年水利工程建設行業(yè)市場發(fā)展監(jiān)測及投資潛力預測報告
- 醫(yī)保電子憑證培訓
- 高中地理興趣小組活動方案
評論
0/150
提交評論