一,聚合函數
SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
常見聚合函數:
- AVG() — 返回平均值
- COUNT() —返回匹配指定條件的行數
- MAX() — 返回最大值
- MIN() — 返回最小值
- SUM() — 返回總和
這裏引用表Book_Type:
用法如下:
1,AVG()函數
--從Book_Type表中獲取Nums的平均值
SELECT AVG(Nums) FROM Book_Type; --返回40
2,COUNT()函數
--COUNT(*) 函數返回表中的記錄數
SELECT COUNT(*) FROM Book_Type --返回8
--COUNT(Name) 函數返回Name的值的數目(NULL 不計入)
SELECT COUNT(Name) FROM Book_Type --返回8
--COUNT(DISTINCT Name) 函數返回Name的不同值的數目
SELECT COUNT(DISTINCT Name) FROM Book_Type --返回3
3, MAX()函數,MIN() 函數,SUM()函數
--從 "Book_Type" 表的 "Nums" 列獲取最小值
SELECT MIN(Nums) AS MINNums FROM Book_Type --返回1
--從 "Book_Type" 表的 "Nums" 列獲取最大值
SELECT MAX(Nums) AS MAXNums FROM Book_Type --返回189
--查找 "Book_Type" 表的 "Nums" 字段的總數:
SELECT SUM(Nums) AS nums FROM Book_Type; --返回322
參照: SQL函數
二,字符串函數
常見字符串函數:
-
UPPER() — 將某個字段轉換爲大寫
-
LOWER() — 將某個字段轉換爲小寫
-
LTRIM() —去掉字符串的空格
-
SUBSTRING(字符串表達式,開始位置,長度) — 從某個文本字段提取字符
-
LEN() — 返回某個文本字段的長度
-
CONCAT() — 合併多個字符
-
REPLACE(s,s1,s2) — 將字符串 s2 替代字符串 s 中的字符串 s1
-
REVERSE() — 將字符串的順序反過來
用法如下:
1,UPPER()函數,LOWER()函數
-- 將aBcde轉換爲大寫
SELECT UPPER('aBcde') -- 返回ABCDE
--將ABCde轉化爲小寫
SELECT LOWER('ABCde') --返回abcde
2,LTRIM() 函數
--去掉字符串 NUBH開始處的空格
SELECT LTRIM(" NUBH") -- 返回RUNOOB
3,SUBSTRING()函數
--從字符串 HYTRFE 中的第 2 個位置截取 3個 字符:
SELECT SUBSTRING('HYTRFE', 2, 3) -- 返回YTR
4, LEN() 函數
--字符串ydgskh的長度
SELECT LEN('ydgskh') -- 返回6
5,CONCAT()函數
--將多個字符合並
SELECT CONCAT('SQL', 'ssas','ads') --返回SQLssasads
6, REPLACE()函數,REVERSE()函數
--將字符串 abc 中的字符 a 替換爲字符 x
SELECT REPLACE('abc','a','x') --返回xbc
--將字符串 abc 的順序反過來
SELECT REVERSE('abc') -- 返回cba
三,數學函數
常見數學函數
- ABS() — 返回絕對值
- COS(),ACOS() — 返回餘弦值(反餘弦值),參數是弧度
- SIN(),ASIN() — 返回正弦值(反正弦值),參數是弧度
- TAN(),ATAN() — 返回正切值(反正切值),參數是弧度
- ceiling(n) — 返回不小於n的最小整數值
- floor(n) — 返回不大於n的最大整數值
- round(n,d) — 返回返回n的四捨五入值,保留d位小數(d的默認值爲0)
- RAND() — 返回0到1隨機數
1,ABS()
-- 返回 -1 的絕對值
SELECT ABS(-1) -- 返回1
2,COS(),ACOS()
-- 求餘弦值(參數是弧度)
SELECT COS(2); --返回 -0.416146836547142
-- 求 0.25 的反餘弦值(參數是弧度)
SELECT ACOS(0.25); --返回 1.31811607165282
3,SIN(),ASIN()
-- 求正弦值(參數是弧度)
SELECT SIN(2); --返回 0.909297426825682
-- 求 0.25 的反正弦值(參數是弧度)
SELECT ASIN(0.25); --返回 0.252680255142079
4,TAN(),ATAN()
-- 求正切值(參數是弧度)
SELECT TAN(1.75); --返回 -5.52037992250933
-- 求反正切值(參數是弧度)
SELECT ATAN(2.5); --返回 1.19028994968253
5,ceiling(),floor()
--計算不小於 1.23 的最小整數值
select ceiling(1.23) --返回2
--計算不大於 1.23 的最大整數值
select floor(1.23) --返回1
6,round(),RAND()
--1.298的四捨五入值,保留一位小數
select round(1.298,1) --返回1.300
--0到1的隨機數
SELECT RAND()
四,日期函數
1,GETDATE()
SELECT GETDATE() --返回當前時間
2,YEAR(),MONTH(),DAY()
SELECT YEAR('2001-02-19') --返回2001
SELECT MONTH('2001-02-19') --返回2
SELECT DAY('2001-02-19') --返回19
3,DATEADD()
SELECT DATEADD(YEAR,10,'2001-02-19') --返回 2011-02-19 00:00:00.000
SELECT DATEADD(MONTH,10,'2001-02-19') --返回 2001-12-19 00:00:00.000
SELECT DATEADD(DAY,10,'2001-02-19') --返回 2001-03-01 00:00:00.000
4,DATEDIFF()
SELECT DATEDIFF(YY,'2001-02-19','2020-09-19') --返回19
SELECT DATEDIFF(MM,'2001-02-19','2001-09-30') --返回7
SELECT DATEDIFF(DD,'2001-02-19','2001-03-14') --返回23