如何根据另一个表中的另一个日期列更新日期字段的日期和月份?

时间:2012-11-02 19:48:35

标签: tsql

  

我有两张桌子,即租户和单位。

     

dtleaseto是租户表中的列。 dtmovein是   列存在于单元表中。

     

我只需要更新dtleaseto中存在的日期的月份和日期   在dtmovein之前一天的月份和日期。

     

E.g。假设我的dtlease是12/20/2012而dtmovein是01/01/2011   那么我最新的dtleaseto将 12 / 31 / 2012。

     

*租户和单位之间的关系是tenant.hunit = unit.hmy

     

先谢谢你的帮助! :)

1 个答案:

答案 0 :(得分:1)

好像你可能想要这样的东西:

UPDATE t
  SET dtleaseto = CONVERT(date, CAST(YEAR(t.dtleaseto) AS CHAR(4)) -- Year of dtleaseto
  +SUBSTRING(CONVERT(CHAR(8),DATEADD(day,-1,u.dtmovein),112),5,4)) -- MMDD part of dtmovein-1 day
FROM tenant t
JOIN unit u on t.hunit = u.hmy