当前位置:数据库 > SQLServer >>

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 DATETIME
AS
BEGIN   
    RETURN  DATEADD(DAY,-1,@datetime)
END
GO

返回后一天:

 

 代码如下 复制代码

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

实例

 代码如下 复制代码

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

效果

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

补充:数据库,Mssql 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,