В моем интерфейсе администратора У меня есть список поддоменов, которые следуют следуя логике:Pad середине строки с 0s в тузд предложения ORDER BY уважать «истинный» числовой порядок
node-k1
node-k2
node-k3
node-k4
node-k5
node-k6
node-k7
node-k8
node-k9
node-k10
node-k11
Они хранятся в MySQL. Мне нужно, чтобы перечислить их в числовом порядке, но так как я не хватает ведущих 0s после node-k
, он приказывает им так:
node-k1
node-k10
node-k11
node-k2
node-k3
etc
Там узлы имеют разные буквы, так node-j_
предстанет перед node-k_
. ORDER BY node ASC
отлично работает с буквами, однако цифры являются раздражающей проблемой.
Есть ли способ сделать предложение ORDER BY поставить их в правильном порядке? Это функция только для администратора, поэтому производительность не является проблемой.
@muistooshort, ой, я не видел, что там было больше, чем один префикс. Благодаря! Я обновил свой ответ. – Ami
Число всегда начинается там же, да, однако некоторые поддомены имеют больше букв после числа, например node-k7 и node-k7-b. Это приведет к тому, что node-k7-b появится перед узлом-k7, когда он должен быть после. Кроме этого, это работает. –
@ k1lljoy: Вы можете справиться с этим с помощью другого 'substr'. –