基本上我有一个名为phone的Sql列,其中包含数字和字母。
我想得到我的电话表的最大整数值,我发现可以使用MAX()
,但对我来说,返回最大字母而不是数字值。
以下是我的表现:
String query = "SELECT MAX(PHONE) FROM db.stb";
我需要输出结果为00010511000000000
,这是我的专栏
如果您告诉我如何在查询中指定我的列名,我真的很感激,例如:
String query = "SELECT MAX(PHONE) FROM db.stb WHERE COLUMNNAME=PHONE";
答案 0 :(得分:2)
正如我在评论中提到的,您不应该将两个不同的信息存储在一个列中。考虑更改表结构。
使用此结构获取结果,首先过滤掉带有字母的行。使用REGEXP
过滤仅包含数值的记录。然后取出最大值。
SELECT MAX(PHONE) FROM db.stb WHERE col1 REGEXP '^[0-9]+$';
REGEX
概念取自此问题:Detect if value is number in MySQL