MSSQL实现月份相加减的实现方法(mssql月份相加减)

MSSQL是一种利用结构化查询语言(Structured Query Language)概念来读取、更新数据及实现数据库管理的软件系统,功能强大,语言灵活,此文将介绍如何在MSSQL中实现月份相加减。

## 一、DATEADD函数

在MSSQL中,月份相加减的实现较为容易,可以采用DATEADD()函数来实现,该函数的语法为:

DATEADD (datepart, number, date)

其中datepart的值可以是yy、mm、dd以及hh等任何一个选项,它代表着年、月、日和小时等,而number则表示要增加或者减少的时间量,date前两个变量的一个组合参数,即执行操作的日期参数。以下来看DATEADD函数的一种具体实现:

“`sql

SELECT DATEADD(mm,6,’2019-01-01′)

–2019-07-01


该语句的意思是在2019年1月1日日期上增加6个月,结果得到2019年7月1日这个日期,同样,减去月份也是采用DATEADD()函数,只不过需要传入负数即可,如:

```sql
SELECT DATEADD(mm,-6,'2019-01-01')
--2018-07-01

## 二、DATEDIFF函数

既然有了DATEADD()函数来实现月份的增加和减少,MSSQL也提供了DATEDIFF()函数用来计算两个日期之间差多少天、多少周或者多少月,比如:

“`sql

SELECT DATEDIFF(mm,’2019-01-01′,’2019-07-30′)

–6


该语句告诉我们,2019年1月1日到7月30日之间相差了6个月,注意插入参数需要全部为日期格式。

## 三、CASE语句

此外,我们也可以利用CASE语句加上DATEADD函数来实现月份的增加和减少,比如要求月份的增加:

```sql
SELECT
CASE
WHEN number > 0 THEN DATEADD(mm,number,'2019-01-01')
ELSE NULL
END
FROM TABLE

这里number的值大于0时则增加月份,如果小于0则返回空值。当然,要求减少月份只需要把大于0改成小于0即可,而DATEADD函数则负责实现月份的具体加减。

## 四、结语

总的来说,MSSQL中月份相加减的实现是用DATEADD函数或DATEDIFF函数均可以,只不过语句的编写以及变量的传递就有所不同,需要注意的是所有的操作都要传入日期格式,以此来实现相应的月份增减。


数据运维技术 » MSSQL实现月份相加减的实现方法(mssql月份相加减)