如何在java sql中获取列的最大整数值?

时间:2016-09-04 11:17:32

标签: java mysql

基本上我有一个名为phone的Sql列,其中包含数字和字母。 我想得到我的电话表的最大整数值,我发现可以使用MAX(),但对我来说,返回最大字母而不是数字值。

以下是我的表现:

String query = "SELECT MAX(PHONE) FROM db.stb";

我需要输出结果为00010511000000000,这是我的专栏

中的最大值

如果您告诉我如何在查询中指定我的列名,我真的很感激,例如:

String query = "SELECT MAX(PHONE) FROM db.stb WHERE COLUMNNAME=PHONE";

1 个答案:

答案 0 :(得分:2)

正如我在评论中提到的,您不应该将两个不同的信息存储在一个列中。考虑更改表结构。

使用此结构获取结果,首先过滤掉带有字母的行。使用REGEXP过滤仅包含数值的记录。然后取出最大值。

SELECT MAX(PHONE) FROM db.stb WHERE col1 REGEXP '^[0-9]+$';

REGEX概念取自此问题:Detect if value is number in MySQL