如何从MySQL中带整数的字符串中获取最大值?
您可以使用CAST()
与MAX()
此。由于字符串是用字符串和整数填充的,第一个示例为“STU201”,因此我们需要使用CAST()
。
让我们首先创建一个表-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentBookCode varchar(200) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(StudentBookCode) values('STU201'); mysql> insert into DemoTable(StudentBookCode) values('STU202'); mysql> insert into DemoTable(StudentBookCode) values('STU203'); mysql> insert into DemoTable(StudentBookCode) values('STU290'); mysql> insert into DemoTable(StudentBookCode) values('STU234');
以下是使用select语句显示表中所有记录的查询-
mysql> select *from DemoTable;
这将产生以下输出-
+----+-----------------+ | Id | StudentBookCode | +----+-----------------+ | 1 | STU201 | | 2 | STU202 | | 3 | STU203 | | 4 | STU290 | | 5 | STU234 | +----+-----------------+ 5 rows in set (0.00 sec)
以下是获取最大值的查询-
mysql> select MAX(CAST(SUBSTRING(StudentBookCode FROM 4) AS UNSIGNED)) from DemoTable;
这将产生以下输出-
+----------------------------------------------------------+ | MAX(CAST(SUBSTRING(StudentBookCode FROM 4) AS UNSIGNED)) | +----------------------------------------------------------+ | 290 | +----------------------------------------------------------+ 1 row in set (0.00 sec)