просто измените позицию значений, которую вы указали в запросе
SELECT `a `, IF(b < 10, TRUNCATE(b / 1000, 3), TRUNCATE(b / 1000, 2))
AS b
, если (a <1,2,3) означает, что если <1, то 2 придетв качестве значения в вашем результате, поэтому вам нужно изменить положение значений </p>
, использовать round
SELECT a , IF(b < 10, round((b / 1000), 2), round((b / 1000), 3) ) AS b
Функция ROUND () округляет число до указанного количества десятичных знаков.
пример SELECT ROUND(345.156, 2);
результат = 345,16
SELECT ROUND(345.156, 2); result = 345.156
Если вы не хотите округлять, тогда TRUNCATE будет отображать 0,00 в случае значения b меньше 10, так что вы подразумеваете под неработающим?
Вам нужно 3 знака после запятой, когда b <10, поэтому вам нужно изменить позицию вашего запроса </p>