gpt4 book ai didi

mysql - 如何在 char 列中选择真正的 MAX 整数?

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:41 25 4
gpt4 key购买 nike

Asterisk中的queue_log表记录了一些调用数据。

所有列都是 char(50) 因为有时保存字符串数据有时保存整数数据。

我想查询有关通话的一些信息。在此查询中,我总是在列中获取整数数据,并且我想获取 MAX。

MySQL 返回一个不连贯的 MAX 数据。

如何获取所有行 Integer 数据中 char 列的真实 MAX 值?

最佳答案

呸!但这种数据格式有时是必需的,尤其是当您具有实体-属性-值 (EAV) 数据结构时。即使在那种情况下,不同的类型使用不同的列也是可取的,因此这种类型的操作更自然。

但是,您实际上可以在 MySQL 中轻松地做您想做的事。如果整数总是非负的,下面的代码应该很容易工作:

select max(col + 0)
from queue_log ql;

MySQL 会将字符串转换为数字以进行加法运算。它默默地忽略字母。并且,转换在第一个字母处停止。如果字符串的开头没有数字,则返回 0。

注意:这也会转换十进制数。您指定了“整数”,但不清楚是否有要忽略的小数。

关于mysql - 如何在 char 列中选择真正的 MAX 整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24392389/

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