Max函数在简单sql查询中不起作用
我有一张3000-4000人的桌子。在某些情况下,还存在一些非数字字符。我想选择这张表中的最高数字。当我使用以下查询时:Max函数在简单sql查询中不起作用,sql,oracle,Sql,Oracle,我有一张3000-4000人的桌子。在某些情况下,还存在一些非数字字符。我想选择这张表中的最高数字。当我使用以下查询时: 我没有得到最大的数目。我得到了98098,尽管系统中已经存在像-1503388这样更大的数字。如何更改上述查询以获取此列中的最大数字。您需要转换为数字。否则,最大值将作为字符串: select MAX(TO_NUMBER(person_number)) from per_all_people_f where REGEXP_LIKE(person_number, '^[[:di
我没有得到最大的数目。我得到了98098,尽管系统中已经存在像-1503388这样更大的数字。如何更改上述查询以获取此列中的最大数字。您需要转换为数字。否则,最大值将作为字符串:
select MAX(TO_NUMBER(person_number))
from per_all_people_f
where REGEXP_LIKE(person_number, '^[[:digit:]]+$')
这是转换问题。您可以使用以下方法进行转换: 使用CAST: 或使用到您的号码: 不相关,但是:与max一起使用distinct没有任何意义
select MAX(TO_NUMBER(person_number))
from per_all_people_f
where REGEXP_LIKE(person_number, '^[[:digit:]]+$')
select MAX(CAST(person_number as NUMBER))
from per_all_people_f
where REGEXP_LIKE(person_number, '^[[:digit:]]+$')
select
max(TO_NUMBER(person_number))
from per_all_people_f
where
REGEXP_LIKE(person_number, '^[[:digit:]]+$')