目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
任务8.3   常用系统函数

任务8.3常用系统函数

函数的主要目的是返回函数计算结果值。返回值一般代表一个数据单

元或一个简单值。实际上,函数可以返回任何数据类型,包括表、游标等,可返回完整的多行结果集的类型。

 SQL Server 提供了内置函数方便用户使用

常用的内置函数一般有:

1、数学函数:

如:convert( )

2、字符串函数:

如:将数值转换为字符串str( )、求串长len( )、转换为大写/小写字母upper() / lower()、截取子串left()/right()

3、日期时间函数

 如: getdate( )、dateadd( )、datediff( )、datepart() 

4、聚合函数 

如: sum( )、avg( )、max( )、min( )、count( )

SQL Server提供了十几个聚合函数,最常用的聚合函数:

 COUNT(*):用于计算所有行数

 MIN(数值表达式):用于计算表达式的最小值          

MAX(数值表达式):用于计算表达式的最大值

 SUM(数值表达式):用于计算表达式的和

 AVG(数值表达式):用于计算表达式的平均值

其他9种:计算标准偏差(STDEV)、方差(VAR)等*


例: 使用聚合函数统计[教务数据库]中学生的成绩情况。

    USE [教务数据库]

    GO

   SELECT COUNT(*) AS 课程门数,MAX(成绩) AS 最高分

       数,MIN(成绩) AS 最低分数,

       SUM(成绩) AS 总成绩 ,AVG(成绩) AS 平均成绩

     FROM 成绩表

    GROUP BY  学号

   GO



例:利用聚合函数(列函数)求各门课的平均分、标准偏差。

*代码:

USE [教务数据库]

    GO

SELECT   课程号,AVG(成绩) AS 平均分,

STDEV(成绩)  AS 标准偏差

FROM 成绩表   GROUP BY  [课程号]

执行结果:*


说明:*从统计学的角度来看,在平均分数相同的情况下,标准偏差越大说明学生之间的录取分数差距越大。

计算学生表中入学录取成绩的平均分和标准偏差(一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度)。


  标量函数

标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。标量函数可以应用在任何一个有效的表达式中,标量函数可分为如下表所示的几大类

数值处理函数
v1. 绝对值函数:ABS(X) PRINT ABS(-78)  结果:78v2.


1)取整函数CEILING(X),不小于X的整数;CEILING (26.8)

结果为: 27

CEILING (-26.8) 结果为: -26v

2)取整函数FLOOR(X ),不大于X的整数;

FLOOR(26.8) 

结果为:26

FLOOR(-26.8) 

结果为:-27


v3. 四舍五入函数v格式:ROUND(数值表达式1,数值表达式2 [,数值表达式3])


v例如,RORUD(26.8369, 3) 结果为:26.837 v            RORUD(26.8369, 3,1) 结果为:26.836


4.求平方根        例如,SQRT(81) 结果为:9


5.求指数函数


  (1)EXP( )            例如,EXP(5) 结果为:148.4131591


  (2)POWER( )      例如,POWER(53) 结果为:125


6.求对数函数


例如,LOG(5) 结果为:0.5989700


7.π函数


例如,PI( ) 结果为:3.14159265358979


8.随机函数


例如,RAND(1) 结果为:0.713592863715925


9.判断正负值函数


例如,SIGN(15-20/8) 结果为-1


例】统计字符串“数据库”的字符个数和字节个数。

SELECT  LEN('数据库') AS '字符个数',DATALENGTH ('数据库') AS '字节个数' 

SELECT  LEN('DBS') AS '字符个数',DATALENGTH ('DBS') AS '字节个数' 


—

例:利用随机函数,编写抽奖程序

DECLARE @x int,@y float,@Z float

SET @x=0

PRINT SPACE(6)+'学号  RAND(x)   抽奖号      奖金数'

PRINT REPLICATE('-',40)

WHILE @x<10                      --当@x>=10时终止循环

   BEGIN

     SET @x=@x+1

     SET @y=RAND(@x)  --随机函数RAND(X)  取整函数FLOOR(X),CEILING(X) 

     SET @Z=RAND(@Y)

     PRINT STR(201900+@X)+'   '+STR(@Y,9,8)+STR(FLOOR(100000*@y),8,0)+STR(CEILING(1000000*@Y*@Z)-673000)

         PRINT REPLICATE('-',40)   

END