如何自动将1年日期添加到SQL Server中的现有日期

时间:2012-02-09 14:46:52

标签: sql sql-server tsql

我的任务是根据PatientsInfo列自动向DateCreated表中的所有已注册患者开具基于N2,500的年度账单。

当然,我将使用存储过程将这些记录插入PatientDebit表并创建一个SQL作业来执行此过程。

select *表格PatientsInfo DateCreated表中PatientDebit现在1岁以后的病人如何插入另一张表PatientsInfo

我的算法是这样的:

  1. DateCreated
  2. 中选择患者的注册日期
  3. PatientDebit
  4. 添加1年
  5. 今天是否添加了日期?如果是的话,
  6. 将记录插入{{1}}表,账单为N2,500
  7. 如果不是,什么都不做。
  8. 请问我该如何编写脚本?

3 个答案:

答案 0 :(得分:14)

使用DATEADD,即:

SELECT DATEADD(year, 1, '2006-08-30')

参考:http://msdn.microsoft.com/en-us/library/ms186819.aspx

答案 1 :(得分:6)

假设两个表的列相同:

INSERT INTO PatientDebit
SELECT * from PatientsInfo WHERE DateCreated<DATEADD(year, -1, GETDATE())

如果DateCreated有大量记录,请确保PatientsInfo上有索引,因为它可能会很慢,否则

答案 2 :(得分:0)

在sql中应该有.add或addyear()函数。你添加像.add(年,日,月)。读取sql datetime添加年,月和秒。这很简单。它就像c#。

DATEADD(信息)。现在是时候了。 GETDATE()。