0

我正在尝试实现一种逻辑,该逻辑根据日期值将行分成多行,例如。我有 1 条这样的记录

Col1   Col2   Start_dat    End_dat     Last_dat    Next_dat
=====  ====   =========    =======     ========    ======== 
A      B      01-01-13     01-31-13    01-04-13    02-04-13

现在我打破了两行以上的记录。

Col1   Col2   New_Start_dat    NewEnd_dat     Last_dat    Next_dat
=====  ====   =============    ==========     ========    ======== 
A      B      01-04-13         01-31-13       01-04-13    02-04-13

A      B      02-01-13         02-04-13       01-04-13    02-04-13

注意:- 日期采用 mm-dd-yy 格式。

4

1 回答 1

0

你并没有真正解释你的逻辑。我认为它是这样的:

select col1, col2, last_dat, as New_Start_dat, End_Dat as NewEnd_dat, last_dat, next_dat
from t
union all
select col1, col2, End_Dat + 1 as NewStart_dat, next_dat as NewEnd_Dat, last_dat, next_dat;
from t

在许多数据库中,添加1日期会增加一天。它也可能类似于dateadd(day, 1, End_Dat)or dateadd(1, Ent_Dat)

此外,这假定日期确实以日期格式存储,并且该dd-mm-yy格式仅用于输出目的。

于 2013-08-24T14:23:31.710 回答