我在 SQL 中有以下数据:
name ID
A[0] 1
A[1] 1
A[2] 1
AA[0] 2
AA[15] 2
AA[27] 2
我想对这些数据进行排序,首先按 ID,然后按名称。按 ID 排序很容易,因为它是一个 int,问题在于名称 - 当我尝试以数字方式排序时,我得到了奇怪的值,例如 a[7],a[27],a[3]。当按字母排序时,我得到了您所期望的 a[10],a[11]...a[19],a[2] 等
我认为这是因为该字段是 varchar 并且具有数字和文本部分. 有没有办法对此进行排序?将其拆分为子字符串似乎是一个糟糕的选择,因为每个部分(文本和数字)的长度不是恒定的。
谢谢!