我收到错误



当我运行查询

SELECT *, ((1 / log(1301980250 - date)) * 175) as weight FROM news_articles ORDER BY weight;

删除ORDER BY条件,也将删除错误。我该如何解决?

更新:日期字段包含Unix时间戳(例如:1298944082)。我将MySQL从5.0.x升级到5.5.x后开始出现错误

有什么帮助吗?

最佳答案

我最近遇到了这个问题,找到了最合理的解决方案,可以将任何UNSIGNED整数简单地转换为SIGNED。

 SELECT *, ((1 / log(1301980250 - cast(date as signed)) * 175) as weight FROM news_articles ORDER BY weight

关于mysql - BIGINT UNSIGNED值超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5605085/

10-13 02:56