Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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
Sql 使用同一列中的值更新表中的唯一列_Sql_Sql Server_String_Tsql_Sql Update - Fatal编程技术网

Sql 使用同一列中的值更新表中的唯一列

Sql 使用同一列中的值更新表中的唯一列,sql,sql-server,string,tsql,sql-update,Sql,Sql Server,String,Tsql,Sql Update,我有一个表,有一列(比如名称),其中有两个不同的值“a”和“B”,现在我想将a到B和B到a的所有行更新 我知道我们可以使用第三个值,然后实现更新,但我们有任何单一的查询解决方案吗 您可以在单个语句中使用条件表达式执行此操作: update mytable set name = case name when 'A' then 'B' when 'B' then 'A' end 这是SQL的基本测试。只需搜索一点就可以找到答案简单地说,updateyourtable SET Nam

我有一个表,有一列(比如名称),其中有两个不同的值“a”和“B”,现在我想将a到B和B到a的所有行更新


我知道我们可以使用第三个值,然后实现更新,但我们有任何单一的查询解决方案吗

您可以在单个语句中使用条件表达式执行此操作:

update mytable
set name = case name
    when 'A' then 'B'
    when 'B' then 'A'
end

这是SQL的基本测试。只需搜索一点就可以找到答案简单地说,
updateyourtable SET Name=CASE Name当'a'然后'B'ELSE'a'结束时