gpt4 book ai didi

sql - 如果,否则如果,否则不工作只有当和其他工作

转载 作者:搜寻专家 更新时间:2023-10-30 22:29:28 24 4
gpt4 key购买 nike

我有以下查询:

Declare @qty int
SET @qty = (SELECT Qty FROM StockTB WHERE ProductID='6' AND Qty=0)
if(@qty =0)
Update StockTB SET Qty=Qty+5, BatchNo='1234', ExpDate='03/11/2018' WHERE
ProductID='6' AND Qty=0
Else
INSERT INTO StockTB Values('6', '5', '1234', '03/11/2018')

上面的查询工作正常。但是当我在查询中添加 ELSE IF 时,它失败了。这是在执行了 ELSE IF 之后。

Declare @expdate date
SET @expdate =(SELECT ExpDate FROM StockTB WHERE ProductID='6' AND
ExpDate='03/11/2018')
Declare @qty int
SET @qty = (SELECT Qty FROM StockTB WHERE ProductID='6' AND Qty=0)
if(@qty =0)
Update StockTB SET Qty=Qty+5, BatchNo='1234', ExpDate='03/11/2018' WHERE
ProductID='6' AND Qty=0
Else if(@expdate='03/11/2018')
Update StockTB SET Qty=Qty+5 WHERE ProductID='6' AND ExpDate='03/11/2018'
Else
INSERT INTO StockTB Values('6', '5', '1234', '03/11/2018')

最佳答案

我无法读取您的架构,但“ExpDate”似乎是一个日期。您正在将它与 varchar '03/11/2018'

进行比较

我不知道你是说 11 月 3 日还是 3 月 11 日。SQL 都不知道。尝试使用 CONVERT(VARCHAR, ExpDate, 103) 代替:

在:否则 if(@expdate='03/11/2018')

将其更改为:否则 if(CONVERT(VARCHAR, @expdate, 103) = '03/11/2018')

您也可以通过在查询中设置 @expdate 值(并使其成为 VARCHAR,而不是日期)来获得相同的结果

*Ps: 作为参数的魔数(Magic Number) 103 表示 dd/mm/yyyy。您可以获得完整列表 here .

关于sql - 如果,否则如果,否则不工作只有当和其他工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46810437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com