gpt4 book ai didi

MySQL DATE_SUB 不使用变量但使用常规值

转载 作者:行者123 更新时间:2023-11-29 00:57:37 26 4
gpt4 key购买 nike

我有这部分查询:

(@tmpo1245 := CAST( ( ( pm5.`meta_value` - pm4.`meta_value` ) / 86400 ) AS SIGNED ) ) AND
(@mutdate:=DATE_SUB( '2011-06-1', INTERVAL @tmpo1245 DAY ) ) AND

这导致我的查询失败。我知道 CAST( ( ( pm5.meta_value- pm4.meta_value)/86400 ) AS SIGNED ) 是 5,我把它放在一个选择中声明来测试它。我也知道以下查询工作得很好:

(@tmpo1245 := 5 ) AND
(@mutdate:=DATE_SUB( '2011-06-1', INTERVAL @tmpo1245 DAY ) ) AND

这是怎么回事?

最佳答案

看来错误出在您查询中 CAST 内的子句上。我猜你试图减去的 pm5.meta_value 和 pm4.meta_value 的数据类型不是数字。因此,请在减去之前先将它们转换为小数。示例代码如下。

@tmpo1245 := CAST( ( ( 
CAST( pm5.`meta_value` AS DECIMAL) - CAST( pm4.`meta_value` AS DECIMAL)) / 86400 )
AS SIGNED )

关于MySQL DATE_SUB 不使用变量但使用常规值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5214846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com