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