• Разница в поведении FLOAT(M,D) в версиях 4.0 и 5.1?

    @ddakapoh Автор вопроса
    float — 4 байта
    decimal(30,25)… что-то затрудняюсь даже сколько, но по идее больше, ведь 4 байта дадут максимум 10 разрядов.

    а точности float должно хватить для деления на 28,29,30 и 31. Во всяком случае в старой версии я не имел проблем. (а вот с делением на 1024*1024 имел, и там round — действительно оказался нашим всем)

    А эксперимент у Вас интересный на самом деле получился.
  • Разница в поведении FLOAT(M,D) в версиях 4.0 и 5.1?

    @ddakapoh Автор вопроса
    Так, использовать я буду просто float, чтобы не резались значения. Для Вас могу на пальцах показать. Вот абонентка 100 рублей, раз в сутки снимается часть. Для месяца с 31 днем эта часть будет составлять 3,225806451612903. Если например определить DECIMAL[10,2], то будет сохранено 3.23, тогда в сумме получится не 100 рублей, как планировалось, а 100.13. Если увеличим точность до [10,3] например и сохраним 3.226, то в сумме получим 100.006, что в округлении также даст лишнюю копейку. Ну и тд. А float без указания точности — это число с плавающей запятой, поэтому для данного случая оно больше подходит.
    Вопрос про другие предложения предполагал… а хрен знает что он предполагал, видимо я надеялся, что есть какие-то возможности, о которых я даже не подозреваю :) Ну и осветить проблему хотелось, вдруг кому пригодится когда-нибудь, я про эту багу нагуглить ничего не смог, везде как раз обсуждаются вопросы различия float и decimal, а это и школьнику ясно должно быть.
  • Разница в поведении FLOAT(M,D) в версиях 4.0 и 5.1?

    @ddakapoh Автор вопроса
    Спасибо, седом я и сам нарублю что угодно как угодно. Вопрос я вроде озвучил внятно и даже специально выделил, еще раз

    Есть ли другие предложения?
    Может знаете другие подводные камни, на которые я еще не натолкнулся?
  • Разница в поведении FLOAT(M,D) в версиях 4.0 и 5.1?

    @ddakapoh Автор вопроса
    Да какой тип использовать надо я и сам знаю, проблема как проще исправить, ну и так, осветить этот камень. Заметил ведь случайно, обходил другие камни, стал проверять, в старой версии счет на 3000 рублей, а в новой на рубль, тут-то я и присел. А float был использован вполне целенаправленно, там подневно снимается часть абонентской платы, и если тариф не менялся, то в сумме должна выйти искомая абонентская плата, в случае с decimal это маловероятно.
  • Разница в поведении FLOAT(M,D) в версиях 4.0 и 5.1?

    @ddakapoh Автор вопроса
    Если бы везде одинаково было прописано, то да, а то ведь где-то еще «timefrom like '201212%'» можно встретить, а вообще по базе много где используется timestamp, поэтому все равно придется как-то руками искать.

    За наводку на настройку формата спасибо, хотя в данном случае не поможет, ибо база переносится на существующий кластер, где пачка других баз.