Из ваших комментариев причина, по которой это не работает, заключается в том, что результат (On_Hand * price) ошибочен (вы умножаете число на строку)
С другой стороны, если on_hand - int
, а цена равна decimal/double/float
, тогда вы можете получить правильный результат, используя следующее:
CONCAT('$',convert(ON_HAND*PRICE,char))
, если ЦЕНА - varchar
, я настоятельно рекомендую сохранить его как decimal
допродолжается.Эта проблема, с которой вы столкнулись, - это только начало головной боли, которая у вас возникнет, если вы сохраните цены как varchar
s.
, если это невозможно, то вы можете посмотреть на функцию Cast (), чтобы сначала наложить вашеvarchar
как decimal
или float
перед выполнением умножения.
РЕДАКТИРОВАТЬ:
Кажется, что MySQL достаточно умен, чтобы конвертировать varchars в плавающие объекты сам по себе, однако он НЕ БУДЕТ работать, когда естьэто знак '$' в поле varchar.
Так что, возможно, попробуйте сделать следующее:
CONCAT('$',convert(ON_HAND*Right(PRICE,Length(Price)-1),char))