Тема: MySQL "ORDER BY CAST(varchar AS int)"
Допоможіть будь-ласка з сортуванням. Є таблиця, з якої вибирається значення з поля (VARCHAR), потрібно значення відсортувати. Значення, типове (ТП-12, ТП-512, ТП-112). Тобто зпочатку дві літери, потім дефіс, потім число (від двох цифр до чотирьох). Хочу, щоб "правильно": ТП-12, ТП-112, ТП-512.
SELECT number FROM ts ORDER BY number
SELECT number FROM ts ORDER BY number*1
SELECT number FROM ts ORDER BY CAST(number AS UNSIGNED)
Один варіант тільки підійшов, але чи можна, якось "простіше"?
SELECT number FROM ts ORDER BY CAST(SUBSTRING(number,4) AS UNSIGNED)
Є, якісь інші варіанти, підкажіть?