【发布时间】:2019-07-09 18:36:48
【问题描述】:
我有一个名为 hexcodetable 的 MySQL 表,其中只有一列名为 VARCHAR(100) 类型的 hexcode。该表包含所有十六进制颜色代码。这些行填充为六个字符的十六进制数字,前面带有 #。例如,#25F412。我们如何将所有行从最黑到最白排序,使得第一行是#000000,第二行是#000001,最后一行是#FFFFFF?请注意,我的意思不一定是数字排序。
【问题讨论】:
-
order by hexcode不起作用? -
绝对不是。返回 #000000 作为第一行是正确的,但是它开始出错,它返回第二行作为 #10000 而它应该是 #000001
-
如果列是 VarChar(顺便说一句,为什么它是 VarChar(100) 而不是 Char(6) 或二进制?)它将正确排序:#000000、#000001、#000002
-
Char(6) 不起作用。记住行中的所有值都以 # 开头。我猜 VARCHAR(100) 只是为了安全起见。
-
@MugaS。 . . .
order by hexcode在我尝试时有效:dbfiddle.uk/…。