我正在尝试使用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
答案 0 :(得分:0)
不确定您正在使用的SQL的哪种变体,但在大多数变体中可能都有相当于T-SQL CHOOSE()和DATEPART()函数的功能。
表达式语法最终可能是这样的:
DATEADD(CHOOSE(DATEPART("dw", date), 7, 5, 7, 7, 7, 7, 7), "d", date)