MySQL. Оператор CAST. Преобразование типов.


Часто простые задачи вызывают много проблем. Например, если Вам надо вывести среднюю стоимость товаров с БД строкой — «Средняя цена — …..». Здесь мы получим ошибку — т.к. следует использовать приведение (преобразование) типов.

Итак, простой интуитивный запрос выглядит так:

    SELECT 'Средняя цена = '+AVG(price) FROM products

Но тут мы, как раз, и столкнемся с ошибкой.

Implicit conversion from data type varchar to money is not allowed. Use the CONVERT function to run this query.

Это связано с тем, что MySQL пытается объединить строку с числом.

В подобной ситуации запрос должен выглядеть вот так:

SELECT 'Средняя цена = '+ CAST(AVG(price) AS CHAR(15)) 
FROM products

В таком случае мы получим желаемый результат.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *