使用IF-ELSE进行SQL更新查询

使用IF-ELSE进行SQL更新查询,sql,if-statement,sql-update,Sql,If Statement,Sql Update,如何编写以下SQL查询(SSMS) 我的表格有两列-A列和B列 IF my_table.columnA < 15 update my_table set my_table.ColumnB = 0 else IF my_table.columnA < 28 update my_table set my_table.columnB = 1 else IF my_table.columnA < 43 update my_table set my_table.columnB

如何编写以下SQL查询(SSMS)

我的表格有两列-A列和B列

IF my_table.columnA < 15
  update my_table set my_table.ColumnB = 0
else IF my_table.columnA < 28
  update my_table set my_table.columnB = 1
else IF my_table.columnA < 43
  update my_table set my_table.columnB = 2
else IF my_table.columnA < 60
  update my_table set my_table.columnB = 3
如果my_table.columnA<15
更新我的表格设置我的表格。ColumnB=0
否则,如果我的表格A<28
更新我的表格设置我的表格。columnB=1
否则,如果我的表格A<43
更新我的表格设置我的表格。columnB=2
否则,如果我的表格A<60
更新我的表格设置我的表格。columnB=3

谢谢你的帮助

您似乎想要一个
大小写
表达式:

update mytable
    set columnB = (case when columnA < 15 then 0
                        when columnA < 28 then 1
                        when columnA < 43 then 2
                        when columnA < 60 then 3
                   end)
    where columnA < 60;
更新mytable
设置columnB=(如果columnA<15,则为0
当A列<28时,则为1
当A列<43时,则为2
当A列<60时,则为3
(完)
其中A列<60;

您似乎想要一个
大小写
表达式:

update mytable
    set columnB = (case when columnA < 15 then 0
                        when columnA < 28 then 1
                        when columnA < 43 then 2
                        when columnA < 60 then 3
                   end)
    where columnA < 60;
更新mytable
设置columnB=(如果columnA<15,则为0
当A列<28时,则为1
当A列<43时,则为2
当A列<60时,则为3
(完)
其中A列<60;

使用您正在使用的数据库标记您的问题。可能重复使用您正在使用的数据库标记您的问题。可能重复