我有两列包含日期时间,我需要两个以某种方式加在一起。我试过使用总和,但没有奏效。即时通讯使用SQLSERVER 2008SQL添加两列(日期时间)
列
loanPeriod =该项目的loanperiod
checkOutDate =当项目被借用
而且我试着去实现这个 lastreturndate =(checkoutDate + loanperiod)
我有两列包含日期时间,我需要两个以某种方式加在一起。我试过使用总和,但没有奏效。即时通讯使用SQLSERVER 2008SQL添加两列(日期时间)
列
loanPeriod =该项目的loanperiod
checkOutDate =当项目被借用
而且我试着去实现这个 lastreturndate =(checkoutDate + loanperiod)
select dateadd(month, loanperiod, checkoutdate) as lastreturndate
大多数数据库都有DATEADD()或DATEDIFF()函数或类似函数。
大概这些都是以天测量的。所以,你可以这样做:
select dateadd(day, datediff(day, 0, loanPeriod), checkoutDate)
将贷款期限存储为日期时间很奇怪。如果是这样,那么这个日期将会看起来像20世纪初的某个日期(除非这个周期很长)。上面的内容将其转换为日期,然后将其添加到结帐日期。
你有什么建议我将loanperiod存储为? – Dynamiite 2013-02-22 03:38:34
@Sebastian。 。 。这取决于它可能的值。首先想到的是天数。或者,它可能是一对数字和一个单位。 。 。 (2,'年'),(14,'月')或其他。 – 2013-02-22 03:40:07
天比一个数字和单位好很多。数量和单位没有救赎品质。我认为最好的选择是到期日。 – 2013-02-22 03:42:04
您正在使用哪个数据库? – alphadogg 2013-02-22 03:35:33
什么单位是loanperiod,几天? – Tahbaza 2013-02-22 03:36:29
@Tahbaza个月 – Dynamiite 2013-02-22 03:37:32