第4章TSQL语言基础课件.ppt
1 数据类型与常量2 局部变量和全局变量3 常用函数,1.1 数据类型1.2 常量,2.1 SELECT语句无源查询2.2局部变量2.3全局变量,第4章 T-SQL语言基础(1),3.1 数学函数3.2 字符串函数3.3 日期时间函数3.4 聚合函数3.5 系统函数3.6 系统统计函数,第4章 T-SQL语言基础,1类型与常量2变量3函数4本节小结,1.1 数据类型1.2 常量,1 数据类型与常量,在T-SQL 编程语言中常量、变量、表中的列、函数的自变量与函数值、过程参数及返回代码、表达式等都具有数据类型,数据类型可分为精确数字(整数、位型、货币型、十进制)与近似数字、日期时间、字符与二进制(字符、Unicode、二进制)和特殊数据类型。,第4章 T-SQL语言基础,1.1 数据类型,1类型与常量 数据类型 常量2变量3函数4本节小结,数据类型 是指数据所代表信息的类型。Microsoft SQL Server 2000 中定义了24种数据类型,同时允许用户自定义数据类型。,第4章 T-SQL语言基础,1.1 数据类型,1类型与常量 数据类型 常量2变量3函数4本节小结,第4章 T-SQL语言基础,1.1 数据类型,说明:1 表中n表示字符串长度;2 位型数据存储格式:如果一个表中有 8个以内的 bit 列,这些列用一个字节存储。如果表中有 9 到 16 个 bit 列,这些列用两个字节存储。依此类推。3 十进制数据存储精度:最高为38位;4 日期时间类型:没有指定小时以上精度的数据,自动时间为00:00:00。5 单字节字符串数据类型:一个字符(半个汉字)一个字节定长char:空间不足截断尾部,空间多余空格填充;变长varchar:空间不足截断尾部,多余空间不填空格;,1类型与常量 数据类型 常量2变量3函数4本节小结,第4章 T-SQL语言基础,1.1 数据类型,6双字节字符串数据类型,unicode字符类型(N代表国际语言National Language)一个字符/汉字占两个字节定长字符串(nchar):,空间不足截断尾部,空间多余空格填充;变长字符串(nvarchar):空间不足截断尾部,多余空间不填空格;变长字符串(ntext):存储大小是所输入字符/汉字个数的两倍(以字节为单位)。7 二进制数据类型:存储Word文档、声音、图表、图像(包括GIF、BMP文件)等数据。在SQL Server中,除上述24种数据类型外,允许用户在系统数据类型的基础上建立自己定义的数据类型。但值得注意的是每个数据库中所有用户定义的数据类型名称必须唯一。建立自己定义的数据类型则需要使用系统存储过程sp_addtype来建立。,1类型与常量 数据类型 常量2变量3函数4本节小结,第4章 T-SQL语言基础,1.2 常量,常量也称为字面值或标量值,是表示一个特定数据值的符号。常量的值在程序运行过程中不会改变的。,1类型与常量 数据类型 常量2变量3函数4本节小结,第4章 T-SQL语言基础,1.2 常量,1类型与常量 数据类型 常量2变量3函数4本节小结,第4章 T-SQL语言基础,2.1 SELECT语句无源查询2.2 局部变量2.3 全局变量,2 局部变量和全局变量,1类型与常量2变量3函数4本节小结,变量可分为局部变量和全局变量。局部变量是用来存储指定数据类型的单个数据值的对象,全局变量是由系统提供且预先声明的用来保存SQL Server系统运行状态数据值的变量。无源select语句是用来查询常量、变量、函数、表达式值的语句。,第4章 T-SQL语言基础,2.1 SELECE语句无源查询,SQL查询分析器是一种图形工具。在查询分析器中,用户可以对单个SQL语句或由 SQL语句编写的脚本进行编写调试。,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,第4章 T-SQL语言基础,2.1 SELECE语句无源查询,SQL查询分析器常用快捷键表,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,第4章 T-SQL语言基础,2.1 SELECE语句无源查询,SELECT语句无源查询就是最简单的语句。SELECT 常量|变量|函数|表达式 as 别名,n所谓无源查询就是使用SELECT语句来查询不在表中的数据。无源查询实质上就是在客户机屏幕上显示出常量、变量或表达式的值。,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,【例4.1】使用SELECT语句查看常量。,第4章 T-SQL语言基础,2.2 局部变量,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,变量是由用户定义并可赋值的实体。变量有全局变量和局部变量两种。局部变量用DECLARE语句声明,声明时它被初始化为NULL,并由SET语句或SELECT语句赋值,它只能用在声明该变量的过程实体中,即使用范围是定义它的批、存储过程和触发器等。其名字由一个符号开始。定义:DECLARE 局部变量名 数据类型,n赋值:SET 局部变量名=表达式,n SELECT 局部变量名表达式,【例4.2】使用SELECT语句查询局部变量。,第4章 T-SQL语言基础,2.3 全局变量,全局变量全局变量由SQL Server系统提供并赋值的变量,名字由符号开始。用户不能建立全局变量,也不可能使用SET语句去修改全局变量的值。通常应该将全局变量的值赋给在同一个批中的局部变量,以便保存和处理。全局变量分为两类:与连接有关的全局变量,如:rowcount 影响的行数;与系统内部信息有关的全局变量。如version SQL的版本号。,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,第4章 T-SQL语言基础,2.3 全局变量,SQL常用的全局变量表,1类型与常量2变量 无源查询 局部变量 全局变量3函数4本节小结,【例4.3】使用SELECT语句查询全局变量。,第4章 T-SQL语言基础,3.1 数学函数3.2 字符串函数3.3 日期时间函数3.4 聚合函数3.5 系统函数3.6 系统统计函数,3 常用函数,1类型与常量2变量3函数4本节小结,在T-SQL 编程语言中函数可分系统定义函数和用户定义函数。本节介绍的是系统定义函数中最常用的数学函数、字符串函数、日期时间函数、聚合函数、系统函数、系统统计函数的最常用的部分。,第4章 T-SQL语言基础,3.1 数学函数,数学函数对作为函数参数提供的输入值执行计算,返回一个数字值。SQL Server 2000 中定义了23种数学函数,表4.4是数值处理中最常用的数学函数。,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,【例4.4】使用SELECT语句查询数学函数。,第4章 T-SQL语言基础,3.2 字符串函数,字符串函数对字符串输入值执行操作,返回一个字符串或数字值。,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,【例4.5】字符、编码函数,【例4.6】长度、大小写函数,第4章 T-SQL语言基础,3.2 字符串函数,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,【例4.7】字符串函数,【例4.8】字符串函数,第4章 T-SQL语言基础,3.3 日期时间函数,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值。,【例4.9】日期函数,【例4.10】日期函数,第4章 T-SQL语言基础,3.4 聚合函数,聚合函数对一组值执行计算并返回单一的值。除COUNT函数之外,聚合函数忽略空值,聚合函数主要用于select语句group by子句、compute by 子句,具体例子请参阅第6章 查询与视图。,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,第4章 T-SQL语言基础,3.5 系统函数,系统函数返回有关 SQL Server中的状态值、对象和设置的信息。,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,【例4.11】,第4章 T-SQL语言基础,3.6 系统统计函数,系统统计函数返回系统的统计信息。,1类型与常量2变量3函数 数学函数 字符串函数 日期时间函数 聚合函数 系统函数 系统统计函数4本节小结,【例4.12】,第4章 T-SQL语言基础,4 本节小结,本章讲述了Transact-SQL的数据类型,它们是精确数字(整数、位型、货币型、十进制)、近似数值、日期时间、字符与二进制(字符、Unicode、二进制)和特殊数据类型等,另外还讲述了Transact-SQL的常量与变量、函数、运算符与表达式和流控制语句等。本章是读者学习SQL语言的基础,只有理解和掌握它们的用法,才能正确编写SQL程序和深入理解SQL语言。表4.8-表4.10列出要求掌握的T-SQL语言基本要素。,1类型与常量2变量3函数4本节小结,