2013-02-22 80 views
0

我有两列包含日期时间,我需要两个以某种方式加在一起。我试过使用总和,但没有奏效。即时通讯使用SQLSERVER 2008SQL添加两列(日期时间)

loanPeriod =该项目的loanperiod

checkOutDate =当项目被借用

而且我试着去实现这个 lastreturndate =(checkoutDate + loanperiod)

+0

您正在使用哪个数据库? – alphadogg 2013-02-22 03:35:33

+0

什么单位是loanperiod,几天? – Tahbaza 2013-02-22 03:36:29

+0

@Tahbaza个月 – Dynamiite 2013-02-22 03:37:32

回答

2

select dateadd(month, loanperiod, checkoutdate) as lastreturndate

2

大多数数据库都有DATEADD()或DATEDIFF()函数或类似函数。

2

大概这些都是以天测量的。所以,你可以这样做:

select dateadd(day, datediff(day, 0, loanPeriod), checkoutDate) 

将贷款期限存储为日期时间很奇怪。如果是这样,那么这个日期将会看起来像20世纪初的某个日期(除非这个周期很长)。上面的内容将其转换为日期,然后将其添加到结帐日期。

+0

你有什么建议我将loanperiod存储为? – Dynamiite 2013-02-22 03:38:34

+0

@Sebastian。 。 。这取决于它可能的值。首先想到的是天数。或者,它可能是一对数字和一个单位。 。 。 (2,'年'),(14,'月')或其他。 – 2013-02-22 03:40:07

+0

天比一个数字和单位好很多。数量和单位没有救赎品质。我认为最好的选择是到期日。 – 2013-02-22 03:42:04