在t-sql中用大量的日期操作函数,要看我们怎么去使用了,现在我们介绍了利用sql来实现返回前一天和后一天的日期并输出。

先来看看常用的日期函数

日期函数:

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 DATETIMEAS BEGIN
RETURN DATEADD(DAY,-1,@datetime)ENDGO

返回后一天:

代码如下复制代码

— =============================================– Author: Insus.NET–
Create date: 2012-03-22– Description: 指定日期,返回后一天日期–
=============================================CREATE FUNCTION
[dbo].[udf_Tomorrow](@datetime DATETIME)RETURNS DATETIMEAS BEGIN
RETURN DATEADD(DAY,1,@datetime)ENDGO

实例

代码如下复制代码

SELECT [dbo].[udf_Yesterday](CURRENT_TIMESTAMP) AS
[Yesterday]SELECT [dbo].[udf_Tomorrow](CURRENT_TIMESTAMP) AS
[Tomorrow]

效果

注:为了更好的的规范和代码维护,Insus.NET常会把一些重复使用的代码,重构为函数。

相关文章