Как усечь десятичные точки в столбце mysql

-4

У меня есть таблица вроде этого

Percentage
0.00
0.00
10.10
0.90
0.00

Я хочу, чтобы это было так

Percentage
0
0
10.10
0.90
0

И это мой запрос

  SELECT discount_percentage - TRUNCATE(discount_percentage, 0),    IF(discount_percentage - TRUNCATE(discount_percentage, 0) = 0.00, TRUNCATE(discount_percentage, 0), discount_percentage) AS percentage FROM 'order' WHERE 1

И мой результат:

      discount_percentage - TRUNCATE(discount_percentage, 0)   percentage
0.00 0.00
0.00 0.00
0.99 10.99
0.00 0.00

Поле precentage имеет тип float

Если 0.00 означает, что мне нужно 0, также если 10,00 означает 10 и 10.99 означает 10.99. Пожалуйста, если кто-нибудь узнает меня из этого

спросил(а) 2021-01-25T14:35:31+03:00 5 месяцев назад
1
Решение
142

Попробуйте это. Я думаю, это то, что вы ищете.

select 
case when v regexp '(.)(\.00$)' then truncate(v,0) else v end as Percentage
from YourTable;

ответил(а) 2021-01-25T14:35:31+03:00 5 месяцев назад
-4

SELECT, SUM (CASE WHEN percent> = 0 THEN percent ELSE 0 END) as discount_percentage FROM #test GROUP BY percent

Он работает на меня, но нужно проверить. Было бы лучше сделать GROUP BY другим столбцом, тогда процент (возможно, столбец id?)

ответил(а) 2021-01-25T14:35:31+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема