Sqlserver 学习笔记
-----------------------接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
SELECT
--求小于或等于所给值的最大整数
SELECT FLOOR(5.6
--求x的y次方
SELECT POWER(2,3)--求二的三次方,结果
--返回0~1之间的随机函数(每次执行结果都是随机的)
SELECT RAND()
--配置函数
--获取当前数据库版本号
SELECT @@VERSION
--获取当前语言
SELECT @@LANGUAGE
--时间函数
--获取当前时间(yyyy-mm-dd hh:mm:ss)
SELECT GETDATE()
--获取当前时间所在日期(第几号)
SELECT
DAY(GETDATE())
--取出时间所在的月份
SELECT
MONTH(GETDATE())
--取出时间所在的年份
SELECT
YEAR(GETDATE())
--给当前时间添加天数(D),月数(M),年数(Y)
SELECT
DATEADD(D,
3, GETDATE())
AS wawa
SELECT
DATEADD(M,
3, GETDATE())
AS wawa
SELECT
DATEADD(YEAR,
3, GETDATE())
AS wawa
--从当前时间中取出某一部分
SELECT
DATENAME(D,'2010-11-15')--取出天数
SELECT
DATENAME(M,'2010-11-15')--取出月数
SELECT
DATENAME(YEAR,'2010-11-15')--取出年数
--字符串函数
SELECT
LEN('strl11')--返回字符串的字符个数[结果是6]
SELECT
LOWER('ABC'),
LOWER('Abc'),
UPPER('Abc'),
UPPER('abc')--大小写转换
--结果abc
abc ABC ABC
SELECT
LTRIM('
去掉左边空格')
SELECT
RTRIM('去掉右边空格
')
SELECT
LEFT('取左边三个字符',
3个字符
SELECT
RIGHT('取右边三个字符',
3个字符[从右边往左算三个]
--用某字符串来替换某个指定字符串的字符串子集
SELECT
REPLACE('原字符串',
'原',
'这是一个')--结果
这是一个字符串
--按指定次数,重复字符串,最后输出字符串
SELECT
REPLICATE('go',
5)--结果gogogogogo
--按指定字符串反序排列
SELECT
REVERSE('这是个字符串')
--结果:串符字个是这
--按指定位置开始截取指定长度的字符串
SELECT
SUBSTRING('这是个字符串',
2开始
--排名函数
--RANK() --返回结果集的分区内每行的排名
--RANK() OVER(ORDER BY
列名)
SELECT
* FROM std_table
--把查询结果按高考分数的排名列出来
SELECT
*, RANK()
OVER(ORDER
BY(高考分数))
排名
FROM
std_table
SELECT
*, RANK()
OVER(ORDER
BY(高考分数)
DESC)
排名
FROM
std_table