时使用+号连接符
一、项目目标及要求
1.1项目要求
理解T-SQL中+号运算符的用法:
+号用法及规则;
①+连接的数据类型必须兼容
②如果+连接符字符型数据,结果为字符串的连接
③如果+连接数值型数据,结果为数值的和
1.2项目需求
①查询Student表全部的学生信息,用+号合并姓名和密码两列
②查询Student表全部的学生信息,用+号合并姓名和性别两列
③查询Result表全部信息,用+合并SubjectID和Score列
④查询Subject表全部信息,合并科目名称及课时数,并重命名为“科目信息”
二、项目实现过程
2.1查询Student表全部的学生信息,用+号合并姓名和密码两列
注意!案例中+号两边的列都是字符类型
Use MySchool
–+号
Select --如果+连接符字符型数据,结果为字符串的连接
StuNo,LoginPwd+StuName as 密码姓名, Sex,GradeID,Phone,StuAddress,BornDate,Email
from
Student
图2-1-1
由图2-1-1知,两个字符的列被连接成了一列
通过本案例,可得结论:+号连接符左右两边的数值为字符类型时,+号连接符起到字符串连接符的功能
2.2查询Result表全部信息,用+合并SubjectID和Score列,并将列命名为“加分成绩”
注意!案例中+号里边都是数值类型!
图2-2-1
由图2-2-1知两个列中的值被相加在一起
通过本案列,可得结论:+号连接符左右两边的数为数值类型时,+号连接符起求和作用
2.3查询Result表全部信息,用+合并StuNo和GradeID列,并将列命名为“学号年级组合”
注意!案列中+号一边是数值型字符,一边是数值
图2-3-1
由图2-3-1知,两个列的值被连接在一起
通过本案例,可得结论:当+号一边是数值类型字符一边是数值时,数值型字符被转为数值,最后为两个数值相加
2.4两种无法(不能)转换成功的情况
1、查询Student表全部的学生信息,用+号合并姓名和性别两列
SubjectName中的值不属于数值型的字符,出现数据类型不兼容,转换出错!
图2-4-1-1
2、查询Subject表全部信息,合并科目名称及课时数,并重命名为“科目信息”
SubjectName中的值不属于数值型的字符,出现数据类型不兼容,转换出错!
图2-4-2-1
项目结论:
+号连接符的特点:
①+号两边的列都是字符类型,+号作字符连接符
②+号两边的列都是数值类型,+号作加法符号
③+一边是数值型字符、一边是数值,+号用来作加法符号
④+一边是非数值型字符、一边是数值,无法完成转换,代码出错!!!