开发者社区> 问答> 正文

在MySQL查询中将文本转换为数字?mysql

是否可以在MySQL查询中将文本转换为数字?我有一列带有标识符的列,该标识符由名称和数字组成,格式为“名称-数字”。该列具有VARCHAR类型。我想根据数字(行名相同)对行进行排序,但是根据do字符顺序对列进行排序,即

name-1 name-11 name-12 name-2 如果我减少了数字,是否可以将“ varchar”数字转换为“真实”数字并用它对行进行排序?我想获得以下订单。

name-1 name-2 name-11 name-12 我无法将数字表示为单独的列。

编辑2011-05-11 9:32

我发现以下解决方案... ORDER BY column * 1。如果名称中不包含任何数字,是否可以保存使用该解决方案?

展开
收起
保持可爱mmm 2020-05-17 13:12:47 564 0
1 条回答
写回答
取消 提交回答
  • 这应该工作:

    SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num FROM table ORDER BY num;来源:stack overflow

    2020-05-17 13:12:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像