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