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

是否可以在MySQL查询中将文本转换为数字?我有一列带有标识符的列,该标识符由名称和数字组成,格式为“名称-

数字”。该列具有VARCHAR类型。我想根据数字(行名相同)对行进行排序,但是根据do字符顺序对列进行排序,即

name-1

name-11

name-12

name-2

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

name-1

name-2

name-11

name-12

我无法将数字表示为单独的列。

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

回答:

这应该工作:

SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num

FROM table

ORDER BY num;

以上是 在MySQL查询中将文本转换为数字 的全部内容, 来源链接: utcz.com/qa/408663.html

回到顶部