Sql 什么';在这个查询中使用IF

Sql 什么';在这个查询中使用IF,sql,Sql,这是我的问题 update b set b.col1 = if(1) <= 0 begin select 1 as bal end else select 0 as bal from dbo.table1 b inner join dbo.table1 a on b.id = a.id and b.date = a.date 更新b se

这是我的问题

update b
set b.col1 =   if(1) <= 0
             begin
              select 1 as bal
                end
             else 
              select 0 as bal

from 
dbo.table1 b
inner join  dbo.table1 a
on b.id = a.id
and b.date = a.date
更新b

set b.col1=if(1)您需要在查询中使用CASE WHEN语句

update b
set b.col1 = CASE WHEN 1 <= 0 THEN 1 ELSE 0 END
更新b

设置b.col1=CASE WHEN 1您需要在查询中使用CASE WHEN语句

update b
set b.col1 = CASE WHEN 1 <= 0 THEN 1 ELSE 0 END
更新b
设置b.col1=CASE当1使用

set b.col1 = case when if(1) <=0 then 1 else 0 end
set b.col1=case当if(1)使用

set b.col1 = case when if(1) <=0 then 1 else 0 end
当if(1)“if”是语句时,set b.col1=case,因此不能将其用作表达式。您可以改为使用“case”:

更新b
当1“if”是语句时,设置b.col1=case,因此不能将其用作表达式。您可以改为使用“case”:

更新b
设置b.col1=当1是时的情况

在一些SQL方言中,有一个
if
函数。if(expresion1、expresion2、expresion3)

在一些SQL方言中,有一个
if…then。。endif
这是一个控制流构造

有些SQL方言兼有这两种语言

后一种形式通常只能在存储过程/功能中使用;前者适用于任何可以使用函数的地方。

是的

在一些SQL方言中,有一个
if
函数。if(expresion1、expresion2、expresion3)

在一些SQL方言中,有一个
if…then。。endif
这是一个控制流构造

有些SQL方言兼有这两种语言


后一种形式通常只能在存储过程/功能中使用;前者适用于任何可以使用函数的地方。

为什么我的查询没有显示?????为你修复了它-去掉了pre和code标记并使用了edit按钮而不是为什么我的查询没有显示????为你修复了它-去掉了pre和code标记并使用了edit按钮这只是一个测试查询。原稿相当复杂,正在尝试“如果”。我来看看这个案例,这只是一个测试查询。原稿相当复杂,正在尝试“如果”。我来看看这个案子