為此,您可以將ORDER BY與一些聚合函數right()一起使用。讓我們首先創建一個表-create?table?DemoTable1487
->?(
->?StudentCode?text
->?);
使用插入命令在表中插入一些記錄-insert?into?DemoTable1487?values('560');
insert?into?DemoTable1487?values('789');
insert?into?DemoTable1487?values('STUDENT78');
insert?into?DemoTable1487?values('John89');
insert?into?DemoTable1487?values('Carol101');
insert?into?DemoTable1487?values('STUDENT98');
使用select語句顯示表中的所有記錄-select?*?from?DemoTable1487;
這將產生以下輸出-+-------------+
|?StudentCode?|
+-------------+
|?560?????????|
|?789?????????|
|?STUDENT78???|
|?John89??????|
|?Carol101????|
|?STUDENT98???|
+-------------+
6?rows?in?set?(0.00?sec)
這是對數據列進行排序以獲取最大文本值的查詢-select?*?from?DemoTable1487?where?StudentCode?LIKE?'STUDENT%'
->?order?by?cast(right(StudentCode,length(StudentCode)-length('STUDENT'))?as?UNSIGNED)?desc
->?limit?1;
這將產生以下輸出-+-------------+
|?StudentCode?|
+-------------+
|?STUDENT98???|
+-------------+
1?row?in?set?(0.04?sec)