是否可以在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。如果名称中不包含任何数字,是否可以保存使用该解决方案?
这应该工作:
SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num FROM table ORDER BY num;来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。