gpt4 book ai didi

varchar 列查询问题中的 Mysql 数字

转载 作者:行者123 更新时间:2023-11-29 05:38:44 25 4
gpt4 key购买 nike

我在一个表中有这一列,由于历史原因,它是一个字符串,但现在放入的新值是数字。

我必须从数字区间中找到最大值,但这些值是数据库中的字符串 :(

如果 op_calcul 是一个数字,那将是微不足道的 sql:

Select MAX(op_calcul) FROM nom_prod where op_calcul  >=500 and op_calcul < 5000

但是将它们作为 varchar 给我带来了一些麻烦。

尝试了不同的场景,但还没有找到解决方案。

有什么提示吗?

谢谢

最佳答案

SELECT MAX(CAST(op_calcul as SIGNED)) FROM nom_prod...

应该可以解决问题。您可能还需要强制转换 WHERE 子句。

理想情况下,出于 MAX 和 WHERE 的性能原因,您应该使用整数列。其中是否有非数字或超出范围的数据?如果不是,更改列类型应该是相当简单的。

关于varchar 列查询问题中的 Mysql 数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8532283/

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