SQL 中的日期時間算術
唯一可以對日期時間值執行的算術運算是加法和減法。 如果日期時間值是加法的運算元,則其他運算元必須是持續時間。
控管使用具有日期時間值的加法運算子的特定規則如下:
- 如果其中一個運算元是日期,則另一個運算元必須是日期期間或標示為年份、月或日的期間。
- 如果其中一個運算元是時間,則另一個運算元必須是時間期間或標示為小時、分鐘或秒的期間。
- 如果其中一個運算元是時間戳記,則另一個運算元必須是持續時間。 任何類型的持續時間都有效。
- 加法運算子的兩個運算元都不能是非類型化參數標記。
在日期時間值上使用減法運算子的規則與加法的規則不同,因為日期時間值無法從持續時間中扣除,而且因為減去兩個日期時間值的運算與從日期時間值中減去持續時間的運算不同。 控管使用具有日期時間值的減法運算子的特定規則如下:
- 如果第一個運算元是日期,則第二個運算元必須是日期、時間戳記、日期持續時間、日期的字串表示法、時間戳記的字串表示法或年份、月或日的標示持續時間。
- 如果第二個運算元是日期,則第一個運算元必須是日期、時間戳記、日期的字串表示法或時間戳記的字串表示法。
- 如果第一個運算元是時間,則第二個運算元必須是時間、持續時間、時間的字串表示法,或標示為小時、分鐘或秒的持續時間。
- 如果第二個運算元是時間,則第一個運算元必須是時間或時間的字串表示法。
- 如果第一個運算元是時間戳記,則第二個運算元必須是日期、時間戳記、日期的字串表示法、時間戳記的字串表示法或持續時間。 如果第二個運算元是時間戳記的字串表示法,則會隱含地轉換為與第一個運算元具有相同精準度的時間戳記。
- 如果第二個運算元是時間戳記,則第一個運算元必須是日期、時間戳記、日期的字串表示法或時間戳記的字串表示法。 如果第一個運算元是時間戳記的字串表示法,則會隱含地轉換為與第二個運算元具有相同精準度的時間戳記。
- 減法運算子的兩個運算元都不能是非類型化參數標記。