Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从数字中删除结束字母,并进行排序_Sql - Fatal编程技术网

Sql 从数字中删除结束字母,并进行排序

Sql 从数字中删除结束字母,并进行排序,sql,Sql,我在一张表中有一列,其中包含的座位号如下所示:10D、4E、12A……等等 我试着去掉结尾字母,然后按升序排列。我下面的代码去掉了结尾字母,但顺序不正确。 命令是这样的: 10 12 13 3. 4. 7. 八, 您需要强制转换为数字类型才能获得数字顺序。比如说 order by cast(rtrim(substr(col_name, 1, LENGTH(col_name) - 1)) as int); 假设您的RDBMS支持强制转换为int。如果使用MySQL,您可以使用UNSIGNED代替

我在一张表中有一列,其中包含的座位号如下所示:10D、4E、12A……等等 我试着去掉结尾字母,然后按升序排列。我下面的代码去掉了结尾字母,但顺序不正确。 命令是这样的: 10 12 13 3. 4. 7. 八,


您需要强制转换为数字类型才能获得数字顺序。比如说

order by cast(rtrim(substr(col_name, 1, LENGTH(col_name) - 1)) as int);

假设您的RDBMS支持强制转换为
int
。如果使用MySQL,您可以使用
UNSIGNED
代替
int

+1:*否则,您将对字符串类型进行字母数字排序。
order by cast(rtrim(substr(col_name, 1, LENGTH(col_name) - 1)) as int);