Я строю запрос, который должен вывести результат умножения двух полей в качестве значения валюты. 0,00 - 9999,99.
Я пробовал несколько предложенных решений, и до сих пор либо они дают синтаксические ошибки, либо округляют до целого числа без десятичной дроби
Нужно ли отделять умножение от отформатированного результата?
Мой текущий запрос.
mysql> SELECT b.RowNumber,b.Email, z.PriceMultiplier * p.Price
-> FROM Production p JOIN Performace pe ON p.Title = pe.Title
-> JOIN Booking b ON b.PerfDate = pe.PerfDate AND b.Perftime = pe.PerfTime
-> JOIN Seat s ON s.RowNumber = b.RowNumber
-> JOIN Zone z ON z.Name = s.Zone;
+-----------+----------------------+-----------------------------+
| RowNumber | Email | z.PriceMultiplier * p.Price |
+-----------+----------------------+-----------------------------+
| Z16 | Jane.Dot@live.com | 60 |
| Z18 | ZP@email.com | 60 |
| Z19 | ZP@email.com | 60 |
| U19 | Jane.Dot@live.com | 26.999999284744263 |
| U20 | Jane.Dot@live.com | 26.999999284744263 |
| X13 | Mike.Stand@email.com | 26.999999284744263 |
| X14 | Mike.Stand@email.com | 26.999999284744263 |
| Z19 | qvf3@live.com | 60 |
+-----------+----------------------+-----------------------------+
Типы данных - PriceMultiplier FLOAT NOT NULL и Price DECIMAL (6,2) NOT NULL
Команда TRUNCATE представляется наиболее рекомендуемой, однако она округляется
26.999999284744263 - должно стать 26.99, а не 27