4.1系统函数
系统函数用来获取有关SQL Server中对象和设置的系统信息.如表4--1所示,列出了经常使用的一些系统函数。
上面所有这些函数.可以在T--SQL中混合使用,得到符合特殊要求的查询输出。
CONVERT和CAST的类型转换使用频繁,在很多场合均可使用。尤其是在网站应用中,常常需要将各种类型的数据转换成指定格式的字符串,然后拼接成显示内容。
4.2字符串函数
字符串函数用于控制返回给用户的字符串,这些功能仅用于字符型数据。如表4-2所示,列出了部分常用的字符串函数。
4.3日期函数
在SQL Server中不能直接对日期运用数学函数.需要使用日期函数操作曰期值。例如,如果执行一个诸如“当前日期+1”的语句,SQL Server无法理解要增加的是一日、一月还是一年。日期函数帮助提取日期值中的日、月及年,以便分别操作它们,如表4-3所示,列出了部分常用的臼期函数。
4.4聚合函数和分组查询
在查询时还会经常碰到的是取某些列的最大值.最小值、平均值等信息.有时候还需要计算出究竟查询到多少行数据项。这个时候,查询的“统计数据”是用户比较关心的.因此SQL Server 提供了聚合函数.聚合函数能够基于列进行计算.并返回单个值。
分组查询是指将查询结果按条件分组,然后使用聚合函数返回每个组的汇总信息。分组查询一般是用来满足统计需求的。
1.聚合函数
常用的聚合函数有SUM( ). AVG( )、MAX( )、MIN()和COUNT( )
(1 ) SLM( )。SUM()函数返回表达式中所有数值的总和,它只能用于数字类型的列,不能够汇总字符、日期等其他数据类型。
实验案例一:使用函数查询统计信息
1、实验环境
BDQN公司有一台已经安装了SQL Server 2016的服务器,bdqn数据库中包含products表,表中内容如图
2、实验步骤
(1)查询出厂日期晚于2017年4月的水果信息
select * from products where 出厂日期>='2017-04-30' and 种类='水果'
(2)分组查询所有水果、蔬菜、坚果的总成本
select 种类,sum(成本) as 总成本 from products group by 种类
(3)查询所有水果的名称和出厂日期、以待定格式拼接字符串
select 名称 + '的出厂日期是:'+cast(出厂日期 as nvarchar(50)) from products where 种类='水果'
(4)查询所有蔬菜的平均成本,并求整
select ceiling (avg(成本)) as 蔬菜平均成本 from products where 种类='蔬菜'