先来看看常用的日期函数
日期函数:
1,上个月:如上月是201201:(CONVERT([varchar](6),dateadd(month,(-1),getdate()),(112)))
2,昨天:2012-02-02 CONVERT(varchar(100), GETDATE() - 1, 23)
3,今天:2012-02-03 CONVERT(varchar(100), GETDATE() , 23)
4,上月最后一天:2012-01-31 23:59:59.997 dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
5,当月第一天 2012-02-01 00:00:00.000 DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
下面我们来看T-SQL自定义函数返回前一天或后一天日期
代码如下 | 复制代码 |
-- ============================================= -- Author: Insus.NET -- Create date: 2012-03-22 -- Description: 指定日期,返回前一天日期 -- ============================================= CREATE FUNCTION [dbo].[udf_Yesterday](@datetime DATETIME) RETURNS DATETIME AS BEGIN RETURN DATEADD(DAY,-1,@datetime) END GO |
返回后一天:
代码如下 | 复制代码 |
-- ============================================= |
实例
代码如下 | 复制代码 |
SELECT [dbo].[udf_Yesterday](CURRENT_TIMESTAMP) AS [Yesterday] |
效果
注:为了更好的的规范和代码维护,Insus.NET常会把一些重复使用的代码,重构为函数。