关闭

Sql复制Union及字符串日期函数

245人阅读 评论(0) 收藏 举报
分类:

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获取日期的某个部分

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20979次
    • 积分:1269
    • 等级:
    • 排名:千里之外
    • 原创:110篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论