SQL IF语句可能吗? [英] SQL IF statement possible?

查看:95
本文介绍了SQL IF语句可能吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我有这个查询,如下所示:

So I have this Query as follows:

UPDATE CustomerBankInfo
SET [Money] = ([Money] - @orderValue)
WHERE CustomerBankInfo.CustomerID = (SELECT CustomerID
                                     FROM Customer
                                     WHERE FirstName = @custFName
                                     AND LastName =@custLName)



但是,如果'Money'小于0,我不希望它运行.我尝试这样做:



However I don''t want it to run if ''Money'' is less than 0. I''ve tried doing:

UPDATE CustomerBankInfo
SET [Money] = ([Money] - @orderValue)
IF [Money] > 0
WHERE CustomerBankInfo.CustomerID = (SELECT CustomerID
                                     FROM Customer
                                     WHERE FirstName = @custFName
                                     AND LastName =@custLName)



不起作用.有什么建议?谢谢.



Doesn''t work. Any suggestions? Thanks.

推荐答案

您没有提供有关表属性变量datatype 的足够详细信息>,让我猜想您在 [Money] 字段中使用了datatype money.如果我是对的,请尝试使用以下代码:

You didn''t provide enough detail regarding datatype of your table attributes and variable, let me guess you are using datatype money for your [Money] field. If i am right, try using the following code:

UPDATE CustomerBankInfo
SET [Money] = ([Money] - CONVERT(money,@orderValue)
WHERE CustomerBankInfo.CustomerID = (SELECT CustomerID
                                     FROM Customer
                                     WHERE FirstName = @custFName 
                                     AND LastName =@custLName) 
AND ([Money] > CONVERT(money,0))


放入AND Money > 0放入where子句中.
Put AND Money > 0 into your where clause.


正确的想法是:将您的Money条件放在WHERE子句中.

—SA
The right idea is: put your condition for Money in WHERE clause.

—SA


这篇关于SQL IF语句可能吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆