我有表和列varchar类型列id 值为m1,m2,...,m9,m10,m11,m12 然后我使用查询
从表
中选择MAX(id)
但结果为m9,因为它将m10视为'm','1','0'作为单个字符。所以m9> m1(0)。
请帮忙?如何从varchar类型查询get max id?
答案 0 :(得分:2)
您可以使用子字符串来实现最大数量
select max(CAST((substring(id,2)) AS DECIMAL(5,0))) from table
最后你也可以使用'm'
进行cancatselect concat('m'+ max(CAST((substring(id,2)) AS DECIMAL(5,0)))) from table
答案 1 :(得分:1)
select max(CAST((substring(id,2)) AS DECIMAL(5,2))) from table;
应该这样做。