我正在尝试编写一个函数来减去几个日期,然后将它们相除,然后加 1 然后 * 100 以获得总体完成百分比。
((SYSDATETIME() - proj.proj_scheduledDate)/(proj.proj_dueDate - proj.proj_scheduledDate + 1)) * 100 as 'percent done
返回
除法运算符的操作数数据类型日期时间无效。
我需要做什么才能让这个查询工作?谢谢!
我正在尝试编写一个函数来减去几个日期,然后将它们相除,然后加 1 然后 * 100 以获得总体完成百分比。
((SYSDATETIME() - proj.proj_scheduledDate)/(proj.proj_dueDate - proj.proj_scheduledDate + 1)) * 100 as 'percent done
返回
除法运算符的操作数数据类型日期时间无效。
我需要做什么才能让这个查询工作?谢谢!
我是否可以建议使用DATEDIFF ()dd
一天datepart
——您可以轻松获得完成天数的百分比——或者datepart
如果需要,可以使用更小的值。
返回指定开始日期和结束日期之间跨越的指定日期部分边界的计数(有符号整数)。
SELECT
FLOOR((DATEDIFF(NOW(), proj.proj_scheduledDate) / DATEDIFF(proj.proj_dueDate, proj.proj_scheduledDate)) * 100)
FROM
foo;