gpt4 book ai didi

mysql - MAX(Column) 返回错误值

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

我想从我的发票表中检索最大发票号,当我选择所有您可以清楚地看到最大发票号为“10”的记录时,它会返回以下内容。

select * from invoice

enter image description here

但是当我查询

select MAX(invoice_number) as maxinv from invoice

它返回“9”。这是为什么?

enter image description here

最佳答案

如果您的 invoice_number 存储为文本列,例如varchar(10)。在这种情况下,根据字母顺序,9 将是最大值。

理想情况下,您应该将要对其执行数值运算的值存储为数值数据类型,例如整数。但是,如果由于某种原因您无法更改列数据类型,您可以尝试在应用 MAX 之前强制转换列,如下所示:

select max (convert(invoice_number, signed integer)) as maxinv from invoice

注意:我特别提到“您要对其执行数字运算的值”,因为在某些情况下输入文本完全是数字,例如电话号码或信用卡号,但也有在任何情况下,您都不想添加 2 个电话号码,或者对信用卡号码求平方根。此类值应存储为文本。

关于mysql - MAX(Column) 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25360359/

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