Union
.英译:联盟,联合
联合结果集,集合运算符
select '最高成绩' as 内容,max(tsenglish) as 分数from tblscore
union
select '最低成绩',min(tsenglish) from tblscore
union
select '平均成绩' avg(tsenglish) from tblscore
结果如图:
常见应用:底部汇总
得出横着的表.集合运算符是对两个集合操纵的,两个集合必须具有相同的列数.列具有相同的数据类型(至少能强转或者隐式转换).最终输出的集合的列名由第一个集合的列名来确定
**总结:要联合的结果集必须有相同的列数.每个结果集的列必须类型相同,并且默认会去除重复
请注意如果不合并重复行,那么使用Union all**
复制
第一种
select * into new_table_name from table_name
将会自动创建新表.将表中数据和框架一起复制,但是不会复制约束
第二种
select * into new_table_name from table_name where 1<>1
只复制框架.不复制数据.每次复制都判断1<>1,效率较低,不推荐使用
第三种
select top 0 * into new_table_name from table_name
复制框架不复制数据.效率高.
第四种
insert into new_table_name select * from table_name
直接往已存在的表内复制所有数据.前提是表已经建立好.并且数据类型相同
字符串函数
**len(column_name)**
字符串的长度
select len('挖掘机技术哪里强')
**dateLength(column_name)**
查询字节个数.如果列格式为n.空格算两个字符.如果不带,则算1个
**Lower()**
转小写
**Upper()**
转大写
**LTrim()**
左去空格
**Rtrim**
右去空格
**Rtrim(Ltrim(''))**
去除两边全部空格
日期函数
select dateadd(year,5,getdate())
5年之后的当前时间
select dateadd(month,5,getdate())
5个月之后的时间
select dateadd(day,5,getdate())
5天之后的时间
select dateadd(hour,5,getdate())
5小时之后的时间
select dateadd(second,5,getdate())
5秒之后的时间
数字可以变成负数达到减 的目的
select dateDiff(year,'2010',getdate())
求差.求岁数用的较多
select datePart(year,getdate())
获取当前年份.datepart获取日期的某个部分