我想将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/