如果字段不为NULL或0,则SQL查询将字段更新为-1

时间:2017-06-23 11:34:47

标签: sql

我需要将表中所有记录中的值更新为-1。 有些值为0和NULL,这些值保持不变。 这是最好的方法吗?

史蒂夫

4 个答案:

答案 0 :(得分:2)

您只需将updatewhere子句一起使用:

update t
    set col = -1
    where col is not null and col <> 0;

如果您的意思是“减少”而不是设置为-1,那么请使用set col = col - 1

答案 1 :(得分:1)

只需添加gzip -cd条件<{1}}条件

zcat

where会过滤掉<> 0值,因此我们不需要这个条件,它只是多余的。

答案 2 :(得分:0)

您可以在where子句中使用这些条件:

  • 列不为NULL
  • 列不为零

类似的东西:

Update <table-name> SET column = -1 where column!=0 and column is not NULL

答案 3 :(得分:0)

你可以这样使用

 Serial_no,  product_name,  product_id,  location