«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сортировать строковые столбцы со встроенными числами в SQL?

Как сортировать строковые столбцы со встроенными числами в SQL?

Опубликовано 10 ноября 2024 г.
Просматривать:498

How to Sort String Columns with Embedded Numbers in SQL?

Сортировка строковых столбцов со встроенными числами в 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 11a 1, a 12, a 2, a 3a 1, a 2, а 3, а 12
b 1, b 12, b 6, b 11b 1, b 12, b 2, b 3b 1, b 2, b 3, b 12

Используя эти методы, можно сортировать строковые столбцы со встроенными числами настраиваемым образом, гарантируя, что результаты соответствуют конкретным требованиям приложения.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3