Прежде всего, FORMAT
возвращает строку, поскольку она может содержать запятые (разделители тысяч). Итак, вы можете как вернуть VARCHAR(99)
. К тому же, вы также можете кормить в строках, если ваши цифры действительно DOUBLE
.
Обратите внимание, что при переходе от DECIMAL(m,n)
к DOUBLE
, затем округлении (через FORMAT
) d до некоторого числа десятичных знаков выполняется 2 округления, на один больше, чем вам действительно нужно.
Еще одно примечание: во во многих ситуациях в MySQL (не во всех) строка, содержащая числовые данные, так же хороша, как DOUBLE
или DECIMAL
. (Заметное исключение: WHERE varchar_col = 1234
не сможет использовать INDEX(varchar_col)
.)