gpt4 book ai didi

MYSQL:选择的意外结果

转载 作者:行者123 更新时间:2023-12-01 00:19:49 25 4
gpt4 key购买 nike

我有一个跟踪产品批号的数据库,批处理的格式如下。

字段:outerbatchcode示例:GA1509007-3

我有一个已经在数千条记录上工作了一年多的选择,以找到当前最高的批处理。

SELECT MAX(CAST(SUBSTRING(outerbatchcode, 10, length(outerbatchcode)-9) AS UNSIGNED)) AS batchcode
FROM batchtracking
where prodid = 201

这通常会拉回 1、2 等

在这种情况下和目前的其他一些情况下,它正在撤回以下样式

18446744073709551615

为什么它没有像预期的那样撤回 3?有什么想法吗?

最佳答案

问题显然是您的代码不是您期望的格式。您的值非常接近 bigint 的最大值,这表明您得到的是负值。负值可能来自格式化代码中的连字符。换句话说,您正在将“-3”转换为无符号数而不是“3”。

我建议改用 substring_index():

select max(cast(substring_index(outerbatchcode, '-', -1) as unsigned))
from batchtracking
where prodid = 201;

关于MYSQL:选择的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270772/

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