= Сообщение: 5254 из 8303 ========================================= RU.LINUX = От : Andrew Kant 2:469/83.1 17 Oct 18 11:06:57 Кому : Vladislav Vetrov 17 Oct 18 11:06:57 Тема : Чем чревато хранить цифры в char-полях mysql? FGHI : area://RU.LINUX?msgid=2:469/83.1+5bc70ea4 На : area://RU.LINUX?msgid=2:5020/2140.152@Fidonet.org+5bc6dd67 = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Hello Vladislav!
Wednesday October 17 2018 09:47, Vladislav Vetrov wrote to Andrew Kant:
VV>>> В общем - сабж. Какие аргументы? Почему цифры лучше хранить, как VV>>> цифры, а не как текст? Hевозможно провести индексацию? VV>>> Потеря производительности на преобразование типов? Что ещё? AK>> AK>> Основная проблема - корректность сравнения, и, как следствие, AK>> порядок сортировки. Сравнение идёт символьное, а не цифровое. AK>> Опять-же, неоднозначность представления. '5' как соотносится с '5 ' AK>> и с ' 5' ? Как ты думаешь, будут ли равны эти значения? AK>> AK>> Hу и по мелочи - обычно цифровой формат компактнее, то есть AK>> занимает меньше места при прочих равных, так как на одну десятичную AK>> цифру нужно не один байт, а примерно 4 бита.
VV> Благодарю за ответ. Сортировку цифр, записанных текстом, оказывается VV> можно решить следующим хаком: к тексту добавляем любую цифру, например VV> 0.0, затем сортируем.
VV> Пример:
VV> Пробуем сортировать по последнему столбцу salary: