Loading

sql server常用函数总结

1. 日期函数相关

1 日期格式格式化函数:CONVERT(varchar(100),UpdateTime,102)  --第3个参数为是要转换成的日期的格式,不同的数字代表不同的格式;
2 日期加减函数: DATEADD(MONTH,2,UpdateTime)   --第一个参数是刻度,可选的是year,day等;第二个参数是要增加几

 

2.聚合函数

1 row_nubmer() over (partition userid order by userid)
2 
3 row_nubmer 主要用来对数据集进行编号,partition表示以某个字段进行分组,分组之后的数据编号也是一个组一个编号;也可以不写partition这一部分,默认的编号就是对整个查询出来的数据行进行编号。
4 
5 rank() over( partition by userId order by userid) :对数据进行排名,如果要对数据分组后进行排名,请使用partition by 。rank是跳跃排名,如果有2个第一名,下一个就是第3名了。
6 
7 dense_rank() over() 也是排名函数,跟rank() 类似,但是区别是:dense_rank 是顺序排名,即使有2个第一名,下一条数据也是第2名。

 3.获取新插入数据的自增主键Id

inset  into  userfeedback(123,'test','test');select SCOPE_IDENTITY();
在C#程序中使用的时候,直接把这2条语句作为一条执行,使用ExecuteScalar() 执行;

 

 4.数据库日志文件收缩脚本

 1 -------------1.dbname   Start------------
 2 use master
 3 go
 4 alter database  dbname set recovery simple with no_wait
 5 go
 6 alter database dbname set recovery simple
 7 use dbname
 8 go
 9 dbcc shrinkfile(N'dblogName',1,truncateonly)
10 go
11 use master
12 go
13 alter database dbname set recovery full with no_wait
14 go
15 alter database dbname set recovery full
16 go
17 -------------------End-------------------
18 dbname 是数据库名称,dblogname是数据库日志文件名;可以配合sqlserver作业进行自动收缩
 DBCC SQLPERF(LOGSPACE) 显示当前服务器数据库日志文件大小信息

 5.快速统计数据中各个表的数据总量

1 select schema_name(t.schema_id) as [Schema], t.name as TableName,i.rows as [RowCount]
2 from sys.tables as t 
3 , sysindexes as i
4 where t.object_id = i.id and i.indid <=1

 6.sqlserver 高效率分页方法(版本>=sqlserver 2012适用)

1 select  *
2 from  Options
3 order by  id 
4 offset  10  rows 
5 fetch next 100 rows only

 

posted @ 2019-11-19 17:14  Yuliang.wang  阅读(500)  评论(0编辑  收藏  举报