SQL Server—數據庫函數(筆記整理)

一,聚合函數

 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章