Sqlserver 學習筆記
by:授客 QQ:1033553122
-----------------------接Part 5-------------------
28 聚合函數
--求平均分
SELECT AVG(聯考分數) FROM std_table
--求總和
SELECT SUM(聯考分數) FROM std_table
--求最低分
SELECT MIN(聯考分數) FROM std_table
--求最高分
SELECT MAX(聯考分數) FROM std_table
--傳回列中聯考分數不為空值的記錄行數
SELECT COUNT(聯考分數) AS 記錄行數 FROM std_TABLE
--數學函數
--求絕對值
SELECT ABS(8)
SELECT ABS(-8)
--求圓周率
SELECT PI()
--求大于或等于所給數值的最小整數
SELECT CEILING(5.6)--結果為6
SELECT CEILING(5)--結果為5
--求小于或等于所給值的最大整數
SELECT FLOOR(5.6) --結果5
--求x的y次方
SELECT POWER(2,3)--求二的三次方,結果
--傳回0~1之間的随機函數(每次執行結果都是随機的)
SELECT RAND()
--配置函數
--擷取目前資料庫版本号
SELECT @@VERSION
--擷取目前語言
SELECT @@LANGUAGE
--時間函數
--擷取目前時間(yyyy-mm-dd hh:mm:ss)
SELECT GETDATE()
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcucDN3IjN3UTMz0SOzgDO1kDMyIDMyEDM5EDMy0iM1QTO2UTMvwVMwkTMwIzLcJTN0kjN1EzLcd2bsJ2Lc12bj5ycn9Gbi52YugTMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
--擷取目前時間所在日期(第幾号)
SELECT
DAY(GETDATE())
--取出時間所在的月份
MONTH(GETDATE())
--取出時間所在的年份
YEAR(GETDATE())
--給目前時間添加天數(D),月數(M),年數(Y)
DATEADD(D,
3, GETDATE())
AS wawa
DATEADD(M,
DATEADD(YEAR,
--從目前時間中取出某一部分
DATENAME(D,'2010-11-15')--取出天數
DATENAME(M,'2010-11-15')--取出月數
DATENAME(YEAR,'2010-11-15')--取出年數
--字元串函數
LEN('strl11')--傳回字元串的字元個數[結果是6]
LOWER('ABC'),
LOWER('Abc'),
UPPER('Abc'),
UPPER('abc')--大小寫轉換
--結果abc
abc ABC ABC
LTRIM('
去掉左邊空格')
RTRIM('去掉右邊空格
')
LEFT('取左邊三個字元',
3)--結果取左邊3個字元
RIGHT('取右邊三個字元',
3)--結果3個字元[從右邊往左算三個]
--用某字元串來替換某個指定字元串的字元串子集
REPLACE('原字元串',
'原',
'這是一個')--結果
這是一個字元串
--按指定次數,重複字元串,最後輸出字元串
REPLICATE('go',
5)--結果gogogogogo
--按指定字元串反序排列
REVERSE('這是個字元串')
--結果:串符字個是這
--按指定位置開始截取指定長度的字元串
SUBSTRING('這是個字元串',
2, 3)--結果:是個字[注:下标從1開始
--排名函數
--RANK() --傳回結果集的分區内每行的排名
--RANK() OVER(ORDER BY
列名)
* FROM std_table
--把查詢結果按聯考分數的排名列出來
*, RANK()
OVER(ORDER
BY(聯考分數))
排名
FROM
std_table
BY(聯考分數)
DESC)
作者:授客
微信/QQ:1033553122
全國軟體測試QQ交流群:7156436
Git位址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測試交流QQ群