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定时备份方案(利用Linux crontab)

    MySQL定时备份方案(利用Linux crontab)

    这篇文章主要给大家介绍了关于MySQL定时备份方案的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • MySQL迁移KingbaseESV8R2的实现步骤

    MySQL迁移KingbaseESV8R2的实现步骤

    本文主要介绍了MySQL迁移KingbaseESV8R2的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • MySQL用truncate命令快速清空一个数据库中的所有表

    MySQL用truncate命令快速清空一个数据库中的所有表

    这篇文章主要介绍了MySQL用truncate命令快速清空一个数据库中的所有表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MySQL学习必备条件查询数据

    MySQL学习必备条件查询数据

    这篇文章主要介绍了MySQL学习必备条件查询数据,首先通过利用where语句可以对数据进行筛选展开主题相关内容,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • Mysql使用存储过程快速添加百万数据的示例代码

    Mysql使用存储过程快速添加百万数据的示例代码

    这篇文章主要介绍了Mysql使用存储过程快速添加百万数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • mysql属于关系型数据库吗

    mysql属于关系型数据库吗

    在本篇文章里小编给大家分享的是一篇关于mysql是否属于关系型数据库的相关文章,有兴趣的朋友们可以参考下。
    2020-06-06
  • mysql生成指定位数的随机数及批量生成随机数的方法

    mysql生成指定位数的随机数及批量生成随机数的方法

    这篇文章主要介绍了mysql生成指定位数的随机数及批量生成随机数的方法,文中给大家介绍了常用mysql函数,需要的朋友可以参考下
    2018-09-09
  • MySQL函数与存储过程字符串长度限制的解决

    MySQL函数与存储过程字符串长度限制的解决

    本文主要介绍了MySQL函数与存储过程字符串长度限制的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • linux mysql5.6版本的安装配置过程

    linux mysql5.6版本的安装配置过程

    mysql官网开始发布相关的5.6系列的各个版本,对于mysql5.6系列的版本对一起的版本进行了全局性的细节性加强
    2013-06-06
  • MYSQL主从数据库同步备份配置的方法

    MYSQL主从数据库同步备份配置的方法

    这篇文章主要介绍了的相关资料,需要的朋友可以参考下
    2015-10-10

最新评论