所以我有一個任務,將隨機20%的前一天的結果用作控制組。將這些結果放入表格中,然後推入.CSV文件供僱主使用。如何比較兩個日期,SQL/SSIS任務
這很好。唯一的問題是,它是在一組經常被測試的任務中,這意味着當任務重複時,更多的隨機數據被轉儲到文件中 - 這意味着手動刪除行。我正在尋找修復程序。
因爲該過程每天運行一次,所以唯一密鑰是TransactionDateID,格式爲INT(20150603)。我需要檢查該專欄,以確保在同一天沒有任何活動。問題加劇,因爲它涉及昨天的記錄。
例如。爲了檢查今天的日期以確定它是否已經運行,getDate()將用於獲取今天的日期,然後轉換爲INT(20150604)。但我不能簡單地檢查一下是否有數字差異1,因爲一旦月份切換,一個簡單的+1會拋出整個事情失控:
(20150631)+ 1 =/=( 20150701)
我只是想知道這是由於變量類型的不同而來回轉換/轉換,或者如果有任何事情我可以用BIT來添加一列,如果任務已經這一天完成了一些工作。
一位同事建議使用MAX(TransactionDateID),然後檢查該列的getDate()。
不幸的是,我遇到一個問題次日:30:SS:在2015-06-04-09
初始任務運行毫米
2015-06-04-11:45: ss:mm等。> 2015-06-04-09:30:ss:mm,請勿運行
2015-06-05-09:30:ss:mm等。> 2015-06-04 -09:30:SS:MM,我希望它運行...
它不清楚你想要做什麼,但昨天得到的通常方式表示爲INT是CONVERT(INT,CONVERT(VARCHAR(8),DATEADD(d,-1,GETDATE()),112 ))' –
使用dateadd(day,1,getdate()),然後將其轉換爲int – cha
Nick,這將工作得到昨天的INT,然後我可以與TransactionDateID進行比較,這也將是昨天的INT。 謝謝你。現在我只需要弄清楚如何在等價時不「繼續」的邏輯。 –