首页 > 数据库 > mysql教程 > 如何在 MySQL 中对字符串化数字进行数字排序?

如何在 MySQL 中对字符串化数字进行数字排序?

Patricia Arquette
发布: 2025-01-12 18:42:43
原创
228 人浏览过

How to Sort Stringified Numbers Numerically in MySQL?

MySQL 中按数值大小排序字符串数字

在 MySQL 数据库中处理存储为字符串的数字时,按数值大小排序可能比较棘手。以下问题突出了这个问题:

问题:

如何按升序排列包含字符串化数字的列,按照其数值大小而不是字符表示进行排序?

答案:

显式或隐式地将字符串值转换为整数可以实现正确的数值排序:

显式转换:

<code class="language-sql">SELECT col
FROM yourtable
ORDER BY CAST(col AS UNSIGNED)</code>
登录后复制

在此示例中,CAST 在排序前将 col 列转换为无符号整数。

隐式转换:

<code class="language-sql">SELECT col
FROM yourtable
ORDER BY col + 0</code>
登录后复制

添加 0 会强制 MySQL 在排序前将 col 解释为数值。

注意:

MySQL 从左到右解释字符串进行转换。例如:

  • "1" 转换为 1。
  • "ABC" 转换为 0(没有前导数字)。
  • "123miles" 转换为 123。
  • "$123" 转换为 0(第一个字符不是数字)。

以上是如何在 MySQL 中对字符串化数字进行数字排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板