我試圖計算項目的總成本,並將該值轉換爲稱爲成本的新列。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