一、时间操作
- 将时间增加或减少:select DATEADD(DAY,1,GETDATE()),此例子是将当前时间增加一天,如减少将变量改为负数即可,第一个参数可变,时分秒月年。
- 将当前时间转为年月日时分秒毫秒: format(GETDATE(),'yyyyMMddHHmmssffff'),一般可用作流水号。
- 将时间改为今天最后时间:(SELECT cast(convert(varchar(10),getdate(),120)+' 23:59:59' as datetime))。
- 计算2个日期相距时间差:select DATEDIFF(DAY,GETDATE(),'2023-2-12')。
- 取日期某个值:select DATEPART(DAY,GETDATE()),取当前日期天数。
二、查询
- 查询当天数据
- 查询最近7天数据
- 查询当月数据
- 查询一年数据
三、分页
select * from (select ROW_NUMBER() OVER(Order by 排序列名) AS RowNumber,* from 表名) as b
四、sql优化
- 不查詢多餘的行和列
- 盡量減少使用distanct,雖然有去重效果,但如果很多字段進行去重時效率會低。
- 插入優化,使用insert into select可以提升效率
- 插入刪除修改等操作可以分批操作,避免占用cpu過大導致訪問受影響。
- 鏈接查詢優化,根據實際需求查詢數據,避免查詢冗餘數據。
- 使用
EXISTS
或NOT EXISTS
通常是查询效率更高的方法
五、