2012-02-09 55 views
5

我有一項任務,自動爲PatientsInfo表中的所有註冊患者開具賬單,該賬單是DateCreated列中的年度賬單N2,500。如何自動將1年的日期添加到SQL Server中的現有日期

當然,我將使用存儲過程將這些記錄插入到PatientDebit表中,並創建一個SQL作業以執行此過程。

我將如何select *患者PatientsInfo表,其中DateCreated現在是1年生的我插入到另一個表PatientDebit

我有我的算法是這樣的:從PatientsInfo表登記的患者

  1. 選擇日期
  2. 1年添加到他們的DateCreated
  3. 是最新加入今天?如果是的話,
  4. 插入記錄到PatientDebit表中用N2,500的賬單
  5. 如果不是,什麼都不做。

請問我該如何編寫腳本?

+1

Google「dateadd」 – mbeckish 2012-02-09 14:49:00

+0

這與C#有什麼關係? (編輯:刪除標籤) – 2012-02-09 14:49:57

+0

或谷歌「datediff」如果你想在兩個日期之間的時間跨度。 – mbeckish 2012-02-09 14:50:06

回答

0

在sql中應該有.add或addyear()函數。您添加如.add(年,日,月)。閱讀SQL日期時間添加年,月和秒。這非常簡單。它就像c#一樣。

Dateadd(info)。現在是時候了。 GETDATE()。

6

假設2代表的列是相同的:

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

確保您的DateCreated有一個索引如果PatientsInfo有很多記錄,因爲它可能會很慢,否則

+0

這適用於我。 – Rahmat 2012-03-08 07:44:50

+0

很高興它!也許你可以考慮接受答案呢? – Johann 2012-03-08 10:56:15