Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据TSQL中的条件更新列?_Tsql_Sql Server 2005 - Fatal编程技术网

如何根据TSQL中的条件更新列?

如何根据TSQL中的条件更新列?,tsql,sql-server-2005,Tsql,Sql Server 2005,我有以下专栏: Cost | Rate1 | Rate2 | Rate3 | IsContainRate 100; 95; 100; 105; Y 105; 100; 110; 120; N 95; 95; 100; 130; Y 基本上,我想根据 IF (Cost = Rate1 OR Cost = Rate2 OR Cost=Rate3) THEN update IsContainRate=Y ELSE IsContainRate = N 谢谢在TSQL中,您可以使用CASE语句来执

我有以下专栏:

Cost | Rate1 | Rate2 | Rate3 | IsContainRate
100; 95; 100; 105; Y
105; 100; 110; 120; N
95; 95; 100; 130; Y
基本上,我想根据

IF (Cost = Rate1 OR Cost = Rate2 OR Cost=Rate3) THEN 
update IsContainRate=Y 
ELSE IsContainRate = N

谢谢

在TSQL中,您可以使用
CASE
语句来执行条件更新

下面是一个例子:

UPDATE yourTable 
    SET isContainRate = CASE 
                           WHEN (Cost = Rate1 
                                  OR Cost = Rate2 
                                  OR Cost = Rate3) 
                              THEN 'Y' 
                           ELSE
                                'N'
                        END 

Case语句将根据表达式计算为“Y”或“N”

在TSQL中,可以使用
CASE
语句执行条件更新

下面是一个例子:

UPDATE yourTable 
    SET isContainRate = CASE 
                           WHEN (Cost = Rate1 
                                  OR Cost = Rate2 
                                  OR Cost = Rate3) 
                              THEN 'Y' 
                           ELSE
                                'N'
                        END 
Case语句将根据表达式计算为“Y”或“N”