【发布时间】:2014-07-10 13:52:29
【问题描述】:
我有一个函数可以获取任何日期并将其转换为不同年份的另一个日期(其目的是保留工作日、周数和月份,但这并不真正相关)。我用它来翻译日期列表并创建一个临时表,使用该函数将原始日期映射到映射日期。查询如下所示:
Select InputDates.Date as InputDate, dbo.GetFutureDate(InputDates.Date,2012) as PastDate
INTO #DateMap
FROM InputDates
InputDates 是我需要翻译的日期列表。 dbo.GetFutureDate 是翻译函数。
正如您所见,年份是硬编码的,这就是我想要改变的。我在另一张表中有一个年份列表。我想创建一个动态 sql 语句,其中包含一系列 SELECT 语句,如上面的语句,根据我拥有的年份列表更改年份,然后使用 Union All 将它们组合在一起。
对我来说最好的方法是什么?
【问题讨论】:
标签: sql sql-server sql-server-2008 date select