Сортировка строковых столбцов со встроенными числами в SQL
В SQL можно сортировать строковые столбцы, содержащие числа, используя определенные методы. Это может быть полезно, когда естественный алгоритм сортировки баз данных, таких как MySQL, не дает желаемых результатов.
Чтобы добиться пользовательской сортировки строковых столбцов с числами, можно использовать несколько подходов:
Использование CAST и SUBSTRING:
SELECT *
FROM table
ORDER BY CAST(SUBSTRING(column,LOCATE(' ',column) 1) AS SIGNED)
Этот метод разбивает столбец на две части: префикс перед пробелом и число после него. Затем число преобразуется к числовому типу (в данном случае SIGNED) для сравнения.
Использование SUBSTRING_INDEX:
ORDER BY SUBSTRING_INDEX(st, " ", 1) ASC, CAST(SUBSTRING_INDEX(st, " ", -1) AS SIGNED)
Этот подход использует функцию SUBSTRING_INDEX для извлечения компонентов префикса и числа. Затем сортировка выполняется сначала по префиксу, а затем по преобразованному числу.
Примечание: Если шаблон столбца отличается от «WORD_space_NUMBER», может потребоваться другой подход.
Примеры:
Пример данных | Естественная сортировка | Пользовательская сортировка |
---|---|---|
a 1, a 12, a 6, a 11 | a 1, a 12, a 2, a 3 | a 1, a 2, а 3, а 12 |
b 1, b 12, b 6, b 11 | b 1, b 12, b 2, b 3 | b 1, b 2, b 3, b 12 |
Используя эти методы, можно сортировать строковые столбцы со встроенными числами настраиваемым образом, гарантируя, что результаты соответствуют конкретным требованиям приложения.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3