Здравствуйте!
Имеется таблица 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) другие варианты?