DATEIME_DIFF 使用安全除法时抛出错误
DATEIME_DIFF throwing error when using safe divide
我创建了一个查询,希望在每天结束时用 每日预算 填充 table。为此,我只需要一些简单的数学运算:
每月预算/当月剩余天数。
然后,在月底,我可以对所有行求和以计算出准确的预算。
查询如下:
SELECT *,
ROUND(SAFE_DIVIDE(budget, DATETIME_DIFF(CURRENT_DATE(), LAST_DAY(CURRENT_DATE()), DAY)),2) AS daily_budget
FROM `mm-demo-project.marketing_hub.budget_manager`
执行查询时,我的结果显示为负数,根据documentation for this function,可能是结果类型溢出造成的。
查看查询的results。
我在计算四舍五入时做了一个傻瓜猜测。不用说它根本不起作用。
如何阻止我的查询返回负数?
下面使用
SELECT *,
ROUND(SAFE_DIVIDE(budget, DATETIME_DIFF(LAST_DAY(CURRENT_DATE()), CURRENT_DATE(), DAY)),2) AS daily_budget
FROM `mm-demo-project.marketing_hub.budget_manager`
我创建了一个查询,希望在每天结束时用 每日预算 填充 table。为此,我只需要一些简单的数学运算: 每月预算/当月剩余天数。
然后,在月底,我可以对所有行求和以计算出准确的预算。
查询如下:
SELECT *,
ROUND(SAFE_DIVIDE(budget, DATETIME_DIFF(CURRENT_DATE(), LAST_DAY(CURRENT_DATE()), DAY)),2) AS daily_budget
FROM `mm-demo-project.marketing_hub.budget_manager`
执行查询时,我的结果显示为负数,根据documentation for this function,可能是结果类型溢出造成的。
查看查询的results。
我在计算四舍五入时做了一个傻瓜猜测。不用说它根本不起作用。
如何阻止我的查询返回负数?
下面使用
SELECT *,
ROUND(SAFE_DIVIDE(budget, DATETIME_DIFF(LAST_DAY(CURRENT_DATE()), CURRENT_DATE(), DAY)),2) AS daily_budget
FROM `mm-demo-project.marketing_hub.budget_manager`