DateAdd - SQL表达式

时间:2017-03-15 11:42:29

标签: sql expression

我正在尝试使用SQL创建表达式。表达式值正在尝试为一周中的几天分配值。星期日是1到星期六,即7星期一。如果是星期一,我会尝试增加5天,以便在星期五登陆,否则每隔一天增加7天。 E.g。

WeekDay Inlist("2",",") DateAdd(5, "d") OR ds WeekDay Inlist("1,3,4,5,6,7",",") DateAdd(7, "d")

然而这似乎不起作用? 所以我基本上是在2017年3月15日星期三在数据库中输入我的日期, 我们的表达式会说它是星期一加5天,因此导致错误。因为星期三我们需要说加7天,这会忽略周六和周日因此会导致True。这将在接下来的星期三降落。

有什么想法吗? :D

1 个答案:

答案 0 :(得分:0)

不确定您正在使用的SQL的哪种变体,但在大多数变体中可能都有相当于T-SQL CHOOSE()和DATEPART()函数的功能。

表达式语法最终可能是这样的:

DATEADD(CHOOSE(DATEPART("dw", date), 7, 5, 7, 7, 7, 7, 7), "d", date)