Sql函数集合
聚合函数 --------------------------------------------------------------------------------------
时间及日期函数 -----------------------------------------------------------------------------
数学函数 --------------------------------------------------------------------------------------
元数据函数 -----------------------------------------------------------------------------------
字符串函数 -----------------------------------------------------------------------------------
文本和图像函数 -----------------------------------------------------------------------------
配置函数 ---------------------------------------------------------------------------------------
系统函数 ---------------------------------------------------------------------------------------
系统统计函数 ---------------------------------------------------------------------------------
事务、游标、存储过程及触发器 ---------------------------------------------------------
数据库管理 ------------------------------------------------------------------------------------
数据检索、高级检索 ------------------------------------------------------------------------
数据库设计 ------------------------------------------------------------------------------------
MDX函数 -------------------------------------------------------------------------------------
ODBC API函数 ------------------------------------------------------------------------------
DB_LIBRARY API 函数 -------------------------------------------------------------------
聚合函数:
1. AVG 返回组中的平均值,空值将被忽略。
例如:use northwind // 操作northwind数据库
Go
Select avg (unitprice) //从表中选择求unitprice的平均值
From products
Where categoryid = ‘8’
2. BINABY_CHECKSUM 可用于检测表中行的更改
返回值由表达式的运算结果类型决定
例如:use northwind
Go
Create table tablebc(productid int,bchecksum int) //建立有两个属性的表
Insert into tablebc //向表中插入数据
Select priductid,binary_checksum(*)
From products
Update products //更新
Set productname=’oishi tofu’, unitprice=20 where productname = ‘tofu’
Update products //更新
Set priductname=’oishi konbu’, unitprice = 5 where priductname=’konbu’
Update priducts //更新
Set prodctname=’oishi genen shouyu’, unitprice =12
Where priductname=’genen shouyu’
Select productid //挑出变化的行
From tablebc
Where exists (
Select productid from products
Where product.productid = tablebc.productid and
binary_checksu (*) <> tablebc.bchecksum) //标志出变化的行
3. CHECKSUM 返回在表的行上或在表达式上计算的校验值 CHECKSUM 用于生成
哈希索引
例如:
Set arithabort on
Use northwind
Go
Alter table products
Add cs_pname as checksum(productname) //在参数列是添加一个校验值
Create imdex pname_index on products(cs_pname) //生成索引
Go
Select top 5 cs_pname from products order by cs_pname desc //选择根据索引
列的前5 个cs_pname
4.Checksum_agg 返回组中值的校验值。空值冽被忽略。
例如:
Use northwind
Go
Select checksum_agg(cast(unitsinstock as int)) //检测products 表的unitsinstock列
的更改
from products
5.Count 返回组中项目的数量
例如:
例一:
Use pubs
Go
Select count(distinct city) //对city中的每一行都计算,并返回非空的数量
From authors
Go
例二:
Use pubs
Go
Select count(*) // 返回组中项目的数量
From titles
Go
例三:
Use pubs
Go
Select count(*),avg(price) // 选择advance大于$1000的总数和平均price
From titles
Where advance >$1000
Go
6.Count_big 返回组中项目的数量。在使用上和count 基本上是一样的,只是在返回值上
有一点区别,count_big 返回是bigint的数据类型值,count返回的是int数据
类型值。
7.Grouping 返回一个聚合函数,它产生一个附加列,当用CUBE或ROLLUP运算符添加
行时,附加 的列输出值为1,当所添加的行不是由CUBE或ROLLUP产生
时,附加列值为0
例如:
Use pubs
Go
Select royalty,sum(advance) ‘total advance’, //选择列royalty,聚合 advance数值
Grouping(royalty) ‘grp’ //grouping 函数
From titles
Group by royalty with rollup //group by 与 rollup 相联系产生分组
8.Max 返回表达式的最大值
例如:
Use pubs
Go
Select max(ytd_sales) //选择ytd_sales列属性,求其最大值。
From titles
Go
9.Min 返回表达式的最小值
例如:
Use pubs
Go
Select min(ytd_sales) //选择ytd_sales列属性,求其最小值。
From titles
Go
10.Stdev 返回给定表达式中所有值的统计标准偏差。
例如:
Use pubs
Select stdev(royalty)
From titles
11.Stdevp 返回给定表达式中所有值的填充统计标准偏差。
例如:
Use pubs
Select stdev(royalty)
From titles
12.sum 返回表达式中所有值的的和,或只返回DISTINCT值。SUM只能用数字列。
例如:
Use pubs
Go
Select type,sum(price),sum(advance) //选择type,price的和,advance的和
From titles
Where type like ‘%cook’ //匹配结尾字符为cook
Group by type
Order by type
Go
例如2:
Use pubs
Go
Select type,price,advance
From titles
Where type like’%cook’
Order by type
Compute sum(price),sum(advance) by type //根据type的属性计算price和advance
的和
13.Var 返回给定表达式中所有值的统计方差。
例如:
Use pubs
Go
Selecdt var(royalty)
From titles
14.Varp 返回给定表达式中所有值的填充的统计方差
例如:
Use pubs
Go
Select varp(royalty)
From titles
时间及日期函数 TOP
1.Dateadd 在向指定日期加上一段时间的基础上返回新datetime值。
例如:
Use northwind
Go
Select dateadd(day,3,Hiredate) //显示函数dateadd执行结果
From employees
2. datediff 返回跨两个指定日期和时间边界数。
例如:
Use northwind
Go
Select datediff(day,Hiredate,getdate()) as no_of_days
From employees
go
3. Datename 返回代表指定日期的指定日期部分的字符串。
例如:
Select datename(month,getdate()) as ‘monthname’
4.Datepart 返回代表指定日期的指定日期部分的整数。
例如:
Select datepart(month,getdate()) as ‘monthnumber’
Select datepart(m,0),datepart(d,0),datepart(yy,0)
5.Day month year 返回指定日期的天 月 年 的日期部分的整数
例如:
Select month(0),day(0),year(0)
6.Getdate 按datetime值的标准内部格式返回当前系统时间和日期
例如:
Use northwind
Go
Create table sales //创建sales表
(
Sale_id char(11) not null //sale_id列,类型char(11),not null
Sale_name varchar(40) not null //sale_name列,类型varchar(40),not null
Sale_date datetime defaull getdate() // sale_date列,类型datetime,默认值getdate()
)
Insert into sales (sale_id,sale_name)
Values(1,’foods’) //向表内插值
Select * from sales //表结果检索
7.Getutcdate 返回表当前CUT时间的datetime值。
例如:
Select getutcdatea()
数学函数 TOP
1. Abs 返回给定数字的绝对值
2. Acos 返回以弧度表示的角度值,该角度值的余弦为给定的float表达式,也叫反余弦
3. Asin 返回以弧度表示的角度值,也叫反正弦。
例如:
Declare @angle float
Set @angle = -1.01
Select ‘the asin of the angke is : ’ + convert (varchar,asin(@angle))
4. Atan 返回以弧度表示的角度值,该角度值的正切为给定的float表达式,也叫反正切。
5. Atn2 返回以弧度表示的角度值,该角度值的正切介于两个给定的float表达式之间
例如:
Declare @anglel float
Declare @angle2 float
Set @anglel = 35.175643
Set @angle2 =129.44
Select ‘the atn2 of the angle is : ’ + convert (varchar,atn2(@anglel,@angle2))
Go
6. Ceiling 返回或等于所给数字表达式的最小整数。
例如:
Select ceiling($123.45),ceiling($-123.45),ceiling($0.0)
7. Cos 返回给定表达式中给定角度的三角余弦值
8. Cot 返回给定float表达式指定角度的三角余切值
例如:
Declare @angle float
Set @angle = 124.1332
Select ‘the cot fo the angle is :’ + convert(varchar,cot(@angle))
9. Degrees 当给出弧度为单位的角度时,返回相应的以度数为单位的角度。
例如:
Select ‘the number of degrees in PI/2 radinans is :’ +convert(varchar,degrees((PI()/2)))
10. Exp 返回所给的float表达式的指数值。
11. floor 返回小于或等于所给数字表达式的最大整数。
12. log 返回给定float表达式的自然对数。
13. log10 返回给定float表达式的以10为底的对数。
例如:
Declare @var float
Set @var = 5.175643