mysql如何对String类型的数字值排序

 更新时间:2023年08月26日 08:58:45   作者:一勺菠萝丶  
这篇文章主要介绍了mysql如何对String类型的数字值排序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql对String类型的数字值排序

正常

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	total_box_num asc

查询结果

但如果total_box_num字段类型是String的话排序就会有问题, 需要在字段前加 --

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	--total_box_num asc

查询结果

或者

SELECT
	current_box_num,
	total_box_num 
FROM
	jis_order 
WHERE
	delete_flag = 0 
	AND id IN ( 41362, 41361, 41360, 41359, 41358, 41357, 41356 ) 
ORDER BY
	total_box_num+0 asc

mysql字符串数字排序

如果您的 MySQL 数据库中的字符串只包含数字并且您想按数字顺序对它们进行排序,可以使用 MySQL 内置的 CAST() 函数将字符串转换为数字,然后对数字进行排序。

例如:

假设您有一个名为 mytable 的表,其中包含一个名为 mycolumn 的列,该列包含字符串数字,您可以使用以下查询对它们进行排序:

SELECT mycolumn FROM mytable ORDER BY CAST(mycolumn AS UNSIGNED) ASC;

这将按升序顺序返回 mytable 中的所有行,并将 mycolumn 中的字符串数字转换为无符号整数进行排序。

如果您想按降序顺序对它们进行排序,可以将 ASC 替换为 DESC。

请注意,如果 mycolumn 中包含非数字字符,则 CAST() 函数将返回 0。

因此,如果您的列中包含其他字符,则可能需要使用其他方法来排序。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql安装数据库初始化失败问题解决方法保姆级教程

    mysql安装数据库初始化失败问题解决方法保姆级教程

    这篇文章主要给大家介绍了关于mysql安装数据库初始化失败问题解决方法保姆级教程,包括更改电脑名称、确保防火墙设置、清理残留文件、检查权限和配置文件等,需要的朋友可以参考下
    2025-01-01
  • mysql中drop、truncate与delete的区别详析

    mysql中drop、truncate与delete的区别详析

    对于drop、truncate和delete虽然简单,但是真要使用或者面试时候问到还是需要有一定的总结,下面这篇文章主要给大家介绍了关于mysql中drop、truncate与delete区别的相关资料,需要的朋友可以参考下
    2022-03-03
  • mysql8.0.20下载安装及遇到的问题(图文详解)

    mysql8.0.20下载安装及遇到的问题(图文详解)

    这篇文章主要介绍了mysql8.0.20下载安装及遇到的问题,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MySQL 5.7压缩包安装图文教程(超详细)

    MySQL 5.7压缩包安装图文教程(超详细)

    这篇文章主要介绍了MySQL 5.7压缩包安装图文教程(超详细),本文通过图文结合的方式给大家介绍的非常详细,感兴趣的朋友跟着小编一起来学习学习吧
    2024-05-05
  • MySQL中delimiter关键字的使用解读

    MySQL中delimiter关键字的使用解读

    这篇文章主要介绍了MySQL中delimiter关键字的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Mysql数据库缓冲池详解(Buffer pool)

    Mysql数据库缓冲池详解(Buffer pool)

    InnoDB存储引擎通过BufferPool缓存数据页和索引页,减少磁盘I/O,提升查询性能,BufferPool通过预读和checkpoint机制优化I/O操作和数据持久化
    2024-12-12
  • mysql存储过程实现split示例

    mysql存储过程实现split示例

    这篇文章主要介绍了mysql存储过程实现split示例,需要的朋友可以参考下
    2014-05-05
  • MySQL(基于GTID方式)实现主从复制和单主复制详细教程

    MySQL(基于GTID方式)实现主从复制和单主复制详细教程

    在分布式数据库系统中,主从复制是实现高可用性和数据冗余的重要手段,基于GTID的复制模式可以提供更强的复制一致性和简化故障转移过程,本文将详细介绍如何配置单主复制的GTID模式,以便在MySQL数据库中实现稳定可靠的数据复制,需要的朋友可以参考下
    2024-07-07
  • Windows下MySQL详细安装过程及基本使用

    Windows下MySQL详细安装过程及基本使用

    本文详细讲解了Windows下MySQL安装过程及基本使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-12-12
  • linux下perl操作mysql数据库(需要安装DBI)

    linux下perl操作mysql数据库(需要安装DBI)

    有时候需要perl操作mysql数据库,可以通过DBI实现,需要的朋友可以参考下
    2012-05-05

最新评论