如何使用sql查询从字母数字中获取数字值并按数字排序

ht4b089n  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(473)

在mysql数据库中

  1. Colum1
  2. Drill 14"
  3. Drill 15"
  4. Drill 10"
  5. Drill 11"
  6. Drill 5"

我想得到数值并按这样排序

  1. Colum1
  2. 5
  3. 10
  4. 11
  5. 14
  6. 15

请注意,我不想使用declare,因为jasper不接受declare,所以如果有简单的sql可以这样做就可以了

xpcnnkqh

xpcnnkqh1#

你可以用
SUBSTRING_INDEX ORDER BY SUBSTRING_INDEX(Colum1,' ', -1)+0 ASC 演示:

  1. SET @str := 'Drill 11';
  2. SELECT SUBSTRING_INDEX(@str,' ',-1)+0 AS number;

输出:

  1. number
  2. 11

此处演示:

sqlfiddle公司

wgx48brx

wgx48brx2#

试试这个

  1. SELECT *
  2. FROM Table_Name
  3. WHERE Colum1 REGEXP '^[0-9]+$';

相关问题