MySQL存储过程返回null

时间:2019-05-15 19:47:39

标签: mysql sql stored-procedures

我有一个带有一个参数的存储过程,即cart_id。发生的奇怪事情是,当我使用硬编码的cart_id运行此存储过程时,它返回正确的值。

BEGIN
SELECT SUM(COALESCE(NULLIF(p.discounted_price,0),p.price)*sc.quantity) AS 
total_amount FROM shopping_cart sc INNER JOIN product p ON p.product_id 
sc.product_id WHERE sc.buy_now AND sc.cart_id = 'nhcjdUjHgttG67Hgbvf4fGhygHnJJi';
END

但是当我使用参数中的值时,它将返回null!我不知道发生了什么事。

BEGIN
SELECT SUM(COALESCE(NULLIF(p.discounted_price,0),p.price)
*sc.quantity) AS total_amount 
FROM shopping_cart sc INNER JOIN product p ON p.product_id = sc.product_id 
WHERE sc.buy_now AND sc.cart_id = inCartId;
END

0 个答案:

没有答案