База данных не пишет число с плавающей точкой



  • надо записать в поле 0.18, а она пишет 0. Пробовал в текстовом режиме добавлять тип double,бас меняет его на string и опять пишет 0. Как-то возможно все же внедрить плавающую точку, или искать сторонние решения? Не хочется мне от базы БАС уходить, с ней хоть более менее подружился. И легкая она.





  • @GhostZ спасибо, сразу не нашел. Вывод из того диалога такой, что база нефункциональна. Нужно, чтобы там работали фильтры. @support не думает плавающие числа в базу внедрить? В mongodb они изначально есть. Получается, даже не внедрить, а разрешить. Ну это ж смешная база только с целыми числами



  • @Viktor Как вариант, сделать два поля для значений - целая часть и после запятой. А для использования - собирать. Костыль, конечно, но...



  • @Antonio-Banderas вот вот. я о таком уже думал. или собирать из базы и на единичку строку множить. каждую отдельную переменную. а их будет много. может заморочусь с левой базой, к которой через ноду буду обращаться. но это еще научиться надо



  • @Viktor всё не так сложно. MySQL на моём опыте пока что быстрее и надёжнее всего остального. Правда, с коннектами в многопотоке непонятная свистопляска, - каждый раз приходится создавать соединение и закрывать его, вместо того чтобы создать одно и слать в него все запросы поочередно, но это мелочи.



  • @Viktor а чем не устраивает хранить в бд целое а в скрипте преобразовывать.
    количество символов после запятой (не помню как это называется) известно?
    например если символов после запятой 5 то достаточно умножать/делить на 100`000, при этом остается простор для условий запросов в базу данных и не надо создавать несколько столбиков.

    p.s. подобное решение помню расписывалось в статье на хабре. там оно применялось в php, где производительность с числами с с плавающей точкой была низкой



  • @Antonio-Banderas pg оптимизирован на низком уровне для чтения/записи. больное место update и удаление. много плюшек, но не самый низкий уровень вхождения/обслуживания.
    семейство mysql середнячок по производительности, вроде. низкий уровень вхождения/обслуживания. по плюшкам проигрывает pg.
    и ещё множество других со своими плюсами и минусами.

    единственный плюс встроенного mongodb в бас - то что он в него встроен.
    так бы появились кастомные решения с db



  • @tet-vivi хмм, умножать на константу, писать целое, при получении делить на константу. можно и строку тогда на 1 умножать. так правда возможность отсева по базе появляется...но мне надо глазками смотреть, что там. с целыми я буду путаться при просмотре, со строками не будет возможность отсева. наверняка все можно решить, но сплошь костылями.



  • @Viktor said in База данных не пишет число с плавающей точкой:

    @tet-vivi хмм, умножать на константу, писать целое, при получении делить на константу. можно и строку тогда на 1 умножать. так правда возможность отсева по базе появляется...но мне надо глазками смотреть, что там. с целыми я буду путаться при просмотре, со строками не будет возможность отсева. наверняка все можно решить, но сплошь костылями.

    Не помню кто на форуме предложил использовать отдельную колонку для дробной части, что бы не производить ни каких вычислений



  • @Fox получить два поля, еще матоперация. Все равно не очень то. Визуально неудобно, а это важно



  • @Viktor операции умножения/деления на константу достаточно делать 2 раза.
    при получении цифры и когда нужно её куда то записать в дробном виде.
    а в скрипте можно сразу вести работу с целым числом, что должно быть эффективней.


Log in to reply