假設我有datefield1和datefield2,通常datefield2比datafield1早3個月。然而,有一些情況是3個月以上,所以我只需要拉起不同於3個月以上的日期。通過兩個日期字段查找具體時間段
例子:
id | Datefield1 | Datefield2
1 08/15/2017 11/15/2017
2 05/10/2017 10/11/2017
3 06/01/2018 09/01/2017
結果應該拉起只有ID爲2 預先感謝您。
假設我有datefield1和datefield2,通常datefield2比datafield1早3個月。然而,有一些情況是3個月以上,所以我只需要拉起不同於3個月以上的日期。通過兩個日期字段查找具體時間段
例子:
id | Datefield1 | Datefield2
1 08/15/2017 11/15/2017
2 05/10/2017 10/11/2017
3 06/01/2018 09/01/2017
結果應該拉起只有ID爲2 預先感謝您。
WHERE DATEDIFF(MM,Datefield1,Datefield2) > 3
可用於尋找到以月爲單位差超過3
謝謝。我的另一個擔心是如何更新Datefiled2 = 3,如果其超過3。 – Messi
你是什麼意思?更新它,以便它有3個整數?或者將該月從Datefield1更改爲3個月? – Leonidas199x
不,日期與三個月不同。考試datefield1 1/1/2017 datefield2應該是3/1/2017。 – Messi
您可以使用DATEDIFF來求解它:
select id
from t1
where DATEDIFF(month,Datefield1,Datefield2)>3
使用DateDiff
:
SELECT *
from table1
WHERE DATEDIFF(MONTH, datefield1, datefield2) > 3
這會給你的ID 2:
| id | Datefield1 | Datefield2 |
|----|----------------------|----------------------|
| 2 | 2017-05-10T00:00:00Z | 2017-10-11T00:00:00Z |
如果要更新,使用DATEADD
:
UPDATE t1
SET datefield2 = DateADD(MONTH, 3, datefield2)
FROM table1 AS t1
WHERE DATEDIFF(MONTH, datefield1, datefield2) > 3;
我還沒有嘗試在SQL,但我認爲你可以嘗試與類似的東西:
SELECT id FROM table
WHERE DATEDIFF(month,Datefield1,Datefield) > 3
問候。
看看DATEDIFF https://docs.microsoft.com/en-us/sql/t-sql/functions/datediff-transact-sql – Leonidas199x
問*「我該怎麼做?」*應該伴隨着你的自己的個人嘗試去解決它,或者至少是一點研究。就目前而言,這個問題太廣泛了,並且作爲請求某人爲您編寫代碼的請求。 – Santi