过滤SQL中缺失值并将其更改为空值的函数

问题描述 投票:0回答:1

我可以使用哪个 SQL 查询字符串或函数从数据集中过滤“零”值并将其更改为“空”值?

我尝试运行查询来过滤数据集中的“零”值并将其更改为“空”值,但我做不到。

sql casting filtering
1个回答
0
投票

您可以使用

nullif
,如果两个值匹配,则返回 null,否则返回第一个值。

select
  some_int,
  nullif(some_int, 0),
  some_text,
  nullif(some_text, '0')
from some_table

nullif
针对您的问题。更一般地说,您会使用
case

select
  some_int,
  case some_int
    when 0 then null
    else some_int
  end as "case",
  some_text,
  case some_text
    when '0' then null
    else some_text
  end as "case"
from some_table;

示范.

© www.soinside.com 2019 - 2024. All rights reserved.