如何在SQL中获得最大数量

时间:2015-06-19 05:08:03

标签: mysql

我有一个代码VARCHAR字段,如果用户没有提供自己的代码,我想自动增加。例如:

`code`
- '5'
- '8'
- 's987'
- '981A'

在这种情况下,最大(纯)数字将是8,所以我想自动增加到9.我该怎么做?所以,我想:

(1)获取当前在我的表中的最大数字(即使它被存储为VARCHAR)。在上面的条目中,8将是最大的数字,因为s987981A不是有效数字。 (2)在这个数字上加1,得到新的自动增量数。

2 个答案:

答案 0 :(得分:1)

试试这个

SELECT max(CAST(code AS UNSIGNED))+1 FROM myTable WHERE code REGEXP '[0-9]+';

答案 1 :(得分:0)

试一试 -

SELECT MAX(code)+1 FROM table_name WHERE code REGEXP '^[[:alnum:]]+$' AND code*1>0;