当前位置: 首页 > 知识库问答 >
问题:

如何在mysql中对字符串值进行排序

彭礼骞
2023-03-14

请检查上面的结果输出。如您所见,在dt-10之后,它显示dt-100。但是我需要显示dt-12而不是dt-100。我尝试了两种方法,但结果是一样的。

SELECT *
FROM fas_details
WHERE equipment_no LIKE 'DT%'
ORDER BY CAST(equipment_no AS DECIMAL(10,2))
SELECT *
FROM fas_details
WHERE equipment_no LIKE 'DT%'
ORDER BY equipment_no * 1 ASC, equipment_no ASC

已经检查了以下问题,

  • MySQL排序字符串号
  • 从VARCHAR强制转换为int-MySQL

共有1个答案

狄飞尘
2023-03-14

equipment_no是一个字符串,并按此排序。
必须提取破折号后面的整数部分,并(隐式地)将其转换为整数,然后排序:

SELECT *
FROM fas_details
WHERE equipment_no LIKE 'DT%'
ORDER BY SUBSTRING_INDEX(equipment_no, '-', -1) + 0
 类似资料:
  • 问题内容: 我有被随机放入的。 例如: 考虑到您无法控制输入的事实(即,进入ArrayList的字符串是随机的;以任何顺序排列的斑马或龙),一旦ArrayList充满了输入,我如何按字母顺序对它们进行排序(不包括第一个)? 很好 排序按字母顺序排列。 问题答案: 上面的代码将反映已排序原始列表的 实际子 列表。

  • 本文向大家介绍如何在Python中对字符串列表进行排序?,包括了如何在Python中对字符串列表进行排序?的使用技巧和注意事项,需要的朋友参考一下 要对列表进行排序,即对列表本身进行排序并更改列表本身的顺序,可以在字符串列表中使用。例如, 如果要保持原始列表不变,而要一个新的排序元素列表,则可以使用sorted(list)。例如,        

  • 我在API文档中看到上有一个方法,但我不清楚参数需要什么。目前的需要是一个非常简单的直接向上的阿尔法比较。

  • 我在JTable的第5列中为每行插入了一个JComboBox-Object。在我想使用对列进行行排序之前,一切都很好。在这种情况下,我得到以下异常: 下面是我在JTable中使用的类: TableModel: 在TableModel中,列5的-method返回-Object。 在TableCellEditor中,第5列中的每一行都有自己的-对象,而-方法返回相关-对象的。 因此Jtable确实有一

  • 问题内容: 我在排序包含整数的字符串时遇到问题。如果使用下面的代码,我将进行排序:1some,2some,20some,21some,3some,一些 但是我希望将其排序为:1some,2some,3some,20some,21some,一些 我怎样才能做到这一点? 谢谢! 问题答案: 这是有关如何执行此操作的独立示例(未特别优化): 输出量 说明 该示例使用一个常数来推断数字是否位于的起始位置。

  • 问题内容: 在Python中创建按字母顺序排序的列表的最佳方法是什么? 问题答案: 基本答案: 这会修改你的原始列表(即就地排序)。要获得列表的排序副本,而无需更改原始副本,请使用以下函数: 但是,上面的示例有些天真,因为它们没有考虑区域设置,而是执行区分大小写的排序。你可以利用可选参数key指定自定义排序顺序(使用,则是不推荐使用的解决方案,因为它必须多次评估- key每个元素仅计算一次)。 因