我试图计算项目的总成本,并将该值转换为称为成本的新列。SQL将varchar转换为货币
在我的创建脚本中,值是字符,但数据类型是金钱。
CREATE VIEW ordered_pizzas_view
AS
SELECT
orderpizza_id, order_id, ...,
CONCAT(range_price, ' ', crust_surcharge, ' ', sauce_surcharge) AS 'cost'
FROM
order_pizza
INNER JOIN
...
WHERE
'cost' = (SELECT SUM(CAST(range_price AS MONEY)) FROM pizza_range) +
(SELECT SUM(CAST(crust_surcharge AS MONEY)) FROM crust) +
(SELECT SUM(CAST(Sauce_surcharge AS MONEY)) FROM sauce)
您是否检查表中的值,是否有非数字条目? – SAS
我刚刚注意到SQL语法错了,你不能用char来比较钱.. – SAS