如何查找mysql varchar列的最大值

时间:2017-07-04 08:19:33

标签: mysql

我有一个这样的表,带有一个var char字段reference_number 实际上我需要获得该字段中的最大数字

 <<student>>

 |`id` | `reference_number`(varchar(25))
 --------------------------
 | 1   | L250
 | 2   | SP521
 | 3   | S120
 | 4   | SP500
 | 5   | S122

期望的结果是521,因为如果我们避免使用非数值,那么它将会像这样

|`id` | `reference_number`
 --------------------------
 | 1   | 250
 | 2   | 521
 | 3   | 120
 | 4   | 500
 | 5   | 122

如何从表中获取值521

2 个答案:

答案 0 :(得分:1)

我假设你已经从第一个片段的第二个片段中提取了'reference_number'。如果是这样,请尝试:::

select max(cast (reference_number as int)) from student

答案 1 :(得分:1)

为了获得数字521(以及 reference_number 列中的所有数字),您可以尝试:

SELECT * 
FROM yourtable
WHERE reference_number REGEXP '^[0-9]+$';

然后您可以按语句添加订单。