📜  sql server 当前日期减去 5 年 - SQL (1)

📅  最后修改于: 2023-12-03 14:47:36.087000             🧑  作者: Mango

SQL Server当前日期减去5年 - SQL

本文将介绍如何在SQL Server中使用T-SQL语言,通过对当前日期减去5年,获取5年前的日期。

方法一:使用DATEADD和DATEDIFF函数
SELECT DATEADD(YEAR, -5, GETDATE()) AS 'FiveYearsAgo'

代码解释:

  • DATEADD函数用于在日期上添加指定的时间间隔(如年、月、日)
  • 第一个参数指定要添加的时间间隔类型(如年、月、日),这里我们使用YEAR,表示添加年份
  • 第二个参数指定要添加的时间间隔的数量,这里我们使用-5,表示减去5年
  • 第三个参数是原始日期,这里我们使用GETDATE()获取当前日期

运行结果:

| FiveYearsAgo | | ------------ | | 2016-07-19 |

方法二:使用DATEFROMPARTS函数
SELECT DATEFROMPARTS(YEAR(GETDATE())-5, MONTH(GETDATE()), DAY(GETDATE())) AS 'FiveYearsAgo'

代码解释:

  • DATEFROMPARTS函数用于根据给定的年、月、日构造一个日期
  • 第一个参数是年份,这里我们使用YEAR(GETDATE())-5获取当前年份减去5年
  • 第二个参数是月份,这里我们使用MONTH(GETDATE())获取当前月份
  • 第三个参数是日期,这里我们使用DAY(GETDATE())获取当前日

运行结果:

| FiveYearsAgo | | ------------ | | 2016-07-19 |

方法三:使用DATE_SUB函数
SELECT DATE_SUB(CURRENT_DATE(), INTERVAL 5 YEAR) AS 'FiveYearsAgo'

代码解释:

  • DATE_SUB函数用于从日期中减去指定的时间间隔
  • 第一个参数是原始日期,这里我们使用CURRENT_DATE()获取当前日期
  • 第二个参数是时间间隔,这里我们使用INTERVAL 5 YEAR表示减去5年

运行结果:

| FiveYearsAgo | | ------------ | | 2016-07-19 |

以上三种方法都可以实现对SQL Server当前日期减去5年的功能,具体使用哪种方法取决于实际情况。