а не 0,000
?
нет
Оказывается можно сделать так: cast(round(0.0001,3) as float)
можно, но не повлияет ли такой вариант на нормальные варианты? В варианте с case можно жёстко задать что будет приравнено 0 а что будет выводится as is
Я не совсем верно, видимо, описал задачу. Я делаю запрос который выдаёт таблицу с очень длинными float. Часть чисел после запятой действительно из разных цифр, а часть либо из нулей, либо имеет некоторое количество цифр после точки, а потом опять нули, либо в самом конце после нулей какая-нибудь погрешность в виде 1. Мне нужно сохранить результат в csv. Но эти дополнительные бесполезные нули нужно откинуть. Вариант с case подходит если нужно обрабатывать только нули. А мне нужно именно сокращать лишние нули в числах нулевых и ненулевых вперемешку.
Как насчет https://www.w3schools.com/sql/func_mysql_round.asp
Проблема round в том что select round(0.0001,3) выдаёт 0.000, вместо 0
так это ж одно и то же
С точки зрения хранения больших данных в csv, это отличается в 5 раз
Ну задай какой то epsilon типа 0.0001 и если меньше то возвращай ифчиком или кейсом ноль
epsilon - это параметр какой то функции?
Обсуждают сегодня