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 从左到右解释字符串进行转换。例如:
以上是如何在 MySQL 中对字符串化数字进行数字排序?的详细内容。更多信息请关注PHP中文网其他相关文章!