Sql 从数字中删除结束字母,并进行排序
我在一张表中有一列,其中包含的座位号如下所示:10D、4E、12A……等等 我试着去掉结尾字母,然后按升序排列。我下面的代码去掉了结尾字母,但顺序不正确。 命令是这样的: 10 12 13 3. 4. 7. 八,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代替
您需要强制转换为数字类型才能获得数字顺序。比如说
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);