我想将sql server 2005 datetime字段中的默认值设置为今天+ 3个工作日。

最佳答案

您需要将“默认值或绑定”设置为以下之一:

SELECT (dateadd(day,(3),getdate()))

SELECT (dateadd(day,(3),cast(floor(cast(getdate() as float)) as datetime)))


第一个将为您提供今天的日期和时间,并精确地加上3天(因此您也可以在其中输入时间值)。

第二个日期将为您提供今天的日期,时间值为00:00:00(即午夜),并为其添加精确的3天。

编辑:

啊..我看到你说“工作日”。好吧,我的示例为您提供了3个按时间顺序排列的工作日,但是要计算3个工作日将非常困难,因为“工作日”的定义可能有点含糊。例如,我将假设“工作日”是星期一至星期五的标准时间。但是,当那些星期一中的一个是国定假日时,会发生什么?在英国,这种情况每年都会改变(即并不总是在同一天)。

计算“工作日”很困难,通常最好通过使用函数(在代码或SQL中)的查找表来完成。

这是一个可以提供有关此问题的见解的链接……虽然不一定漂亮! :)

SQL Server - UDF for Business Days Calculation

关于sql - 将今天+ 3个工作日(作为默认值)放在Sql datetime字段中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2476594/

10-12 16:44