Sql 使用case语句进行查询的方法

Sql 使用case语句进行查询的方法,sql,case,Sql,Case,我在该列中有一个名为Numbers的表,我有0-10的值,但我喜欢保持1-10的值,只改变0的记录太空 案例编号 当0 然后“ 但我发现这改变了所有的值,而不是0的值。有没有其他方法可以让值保持原样?你想要这个吗 update t set number = null where number = 0; 或作为选择: select t.*, (case when number <> 0 then number end) from t; 选择t.*, (

我在该列中有一个名为Numbers的表,我有0-10的值,但我喜欢保持1-10的值,只改变0的记录太空

案例编号 当0 然后“

但我发现这改变了所有的值,而不是0的值。有没有其他方法可以让值保持原样?

你想要这个吗

update t
    set number = null
    where number = 0;
或作为
选择

select t.*,
       (case when number <> 0 then number end)
from t;
选择t.*,
(当数字为0时,则数字结束)
从t;

顺便问一下,你在用什么,
sql server
mysql
等等。。?您正在执行
更新
还是
选择
SELECT CASE WHEN [column] = 0 THEN NULL ELSE [column] END AS [SomeName]
FROM Numbers