"EhLib.Com"
https://forum.ehlib.com/ru/

Сортировка alphanumeric значений
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2864
Страница 1 из 1

Автор:  rlc [ 20 сен 2019, 11:33 ]
Заголовок сообщения:  Сортировка alphanumeric значений

Здравствуйте!
Имеется таблица MySQL, где в одном из полей (`addr_flat` varchar(8)) хранится номер квартиры. Номер этот может быть смешанный из цифр и других символов. Запросом через TMyQuery данные показываются в TDBGridEh с SortLocal = False, модуль EhLibMyDac подключен в uses.
При сортировке по этому столбцу грида получаем список в неудобоваривом виде - рис.2 (к примеру, 2 следует после 19). А хотелось бы увидеть результат как показано на рис.1, т.е. в т.н. "Natural Sorting".
Как этого достичь?
Какие есть варианты:
1) изменить код procedure TMyQuerySQLDatasetFeaturesEh.ApplySorting в EhLibMyDac? На что?
2) можно ли использовать вычисляемое поле casted_column_for_sorting как некое SortField для поля addr_flat - CAST(addr_flat AS UNSIGNED) AS casted_column_for_sorting ?
3) другие варианты?
Изображение

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/