我收到错误
当我运行查询
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/