我有这种复杂的查询,在this question中有很好的解释。我没有更改查询中的任何内容或与此系统相关的任何内容,但我突然开始收到此错误
BIGINT UNSIGNED值超出范围 '(
_db
。ads
。impressions_total
- (cast(((curdate()) - 施放(_db
。ads
。start
作为日期))作为无符号)*_db
。ads
。impressions_perday
))'
我真的很困惑,我猜有些东西没有正确缓存,但我该怎么办?我真的需要帮助......
答案 0 :(得分:1)
这似乎是您的
(_db.ads.impressions_total - (cast(((curdate()) - cast(_db.ads.start as date)) as unsigned) * _db.ads.impressions_perday
获取两个日期之间差异的正确方法是使用datediff()
。所以我想知道这是否能解决你的问题:
_db.ads.impressions_total - datediff(curdate(), cast(_db.ads.start as date))*_db.ads.impressions_per_day