查看内容

sql返回今天或明天日期

  • 2020-03-31 23:42
  • 数据库知识
  • Views

在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常会把一些重复使用的代码,重构为函数。