SQL Server各种函数用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1、alter table....add/drop.... 向表中添加、删除列 . (2)
2、Truncate 删除表中的所有数据,但不删除表 (2)
3、exec sp_rename 修改表名、字段名 (2)
4、复制表,只复制表结构,不复制表中数据 (2)
5、identity 表中新增列,并自动编号 (3)
6、Insert 与update的用法 (3)
7、行列转换 Pivot、Unpivot (3)
8、自动排序 row_number、rank、dense_rank、partition by (5)
9、字符串截取Substring ,left ,right (6)
10、Charindex 用法 (7)
11、replace替换,len显示长度,lower大写转小写,reverse逆向显示 (7)
12、ceiling进1取整,floor减1取整,round保留小数位数 (8)
13、convert时间转换(详细显示格式) (8)
14、时间函数datediff、dateadd比较 (9)
15、时间函数datename、datepart 比较 (10)
16、查询重复记录的代码 (10)
17、waitfor延迟语句 (10)
18、case when 的用法 (11)
19、将excel导入到 sql 的方法 (12)
以下摘自网络 (17)
1、SQL函数大全 (17)
2、With...as 用法 (17)
3、配置连接服务器 (19)
由于时间问题只整理了一部分,希望对需要的人有所帮助!
1、alter table….add/drop…. 向表中添加、删除列
alter table castingreport--增加列
add[packclass]varchar(20),[packer1]varchar(20),[floor]varchar(50) alter table aa drop column[address] --删除一列
2、Truncate 删除表中的所有数据,但不删除表
TRUNCATE TABLE aa
3、exec sp_rename 修改表名、字段名
语法: 1、exec sp_rename 原表名,'新表名'
2、exec sp_rename '表名.[字段原名]','字段新名','column'
--column表示要修改的是列字段名,引号可以不加
exec sp_rename pvt,pv
exec sp_rename生产,'product' --修改表名
exec sp_rename'product.[日期]','time','column' --修改字段名
exec sp_rename'aa.vid',id,'column'
4、复制表,只复制表结构,不复制表中数据
select*into bb from aa where 1<>1
select top(0)*into cc from aa
5、identity 表中新增列,并自动编号
Select identity(int,1,1)as AutoID,*into#tm from teacher order by salary
drop table teacher
select*into teacher from#tm
drop table#tm
6、Insert 与update的用法
例:
insert into aa(age)
select emp5from pvt
insert into openquery([10.32.142.235],'select lot,time,para from
test.dbo.aa')
select lot,GETDATE(),null from a
update aa
set name=b.Emp5,age=b.Emp2from pvt as b where aa.VendorID=b.VendorID
update course
set teachername=(select name from teachers where id=course.teacherno)
update openquery([10.32.142.235],'select lot as lotid,whtime from test.dbo.aa where whtime is null')
set whtime=b.time from w_lothistory as b where lotid=b.lot
7、行列转换 Pivot、Unpivot
Pivot (行转列)
执行以下语句完成行转列:
select*from (
select name,course,score from tb)as pvt
pivot
(max(score)for course in([语文],[数学],[物理]))as a
select a.*from (
select lot,time,eqp,substring(para,1,charindex(':',para)-1)as
para,substring(para,charindex(':',para)+1,len(para))as value
from aa
where eqp='检测'and time between'2012-2-9'and'2012-2-10')as pvt pivot
(max(value)for para in([有效长度(mm)],[崩边(mm)],[晶棒异常]))as a Unpivot (列转行)
执行以下语句完成列转行
select name,course,score from(