我正在尝试处理空单元格,并在 PostgreSQL 中查询时获取填充有“空白”字符串之类的空单元格的数据。我的查询如下所示:
SELECT t_id, a_date, c_date, o_s_date, o_e_date,
ttr_hr, ttn_min, d_sub_outage_impact,
tkt_source, d_vertical, d_grp, city, state
FROM r.all_t_event b
Left Outer Join(
select i_number,status,o_group
From r.hpd_help_desk
Group by i_number,status,o_group) a on a.i_number =b.t_id
Where close_date >= to_timestamp('10/05/2017','mm/dd/yyyy')
and t_condition = 'Outage'
and (a_grp like '%NOC%' or a.o_group like '%NOC%')
and t_id not in ('INC8788','INC26116')
and a.status = '5'
在 SELECT 语句中尝试了很多 CASE 语句,但当我尝试使用以下内容时,我总是收到类似“错误:在“WHEN”处或附近出现语法错误”的错误:
CASE
WHEN d_outage_min = " " then "blank" else d_outage_min
WHEN v_outage_min = " " then "blank" else v_outage_min //Error occurred here
.....END
当我尝试时,出现了类似“错误:“CASE”处或附近的语法错误:
CASE
WHEN d_outage_min = " " then "blank" else d_outage_min
END
CASE //Error occurred here
WHEN v_outage_min = " " then "blank" else v_outage_min
END
CASE...END
很高兴有一个出路/合并语句语法/任何可以帮助的东西。 再次感谢!
最佳答案
这是一个简单的语法错误。 值需要单引号 (''
),而不是双引号 (""
),双引号表示 标识符。这有效:
CASE WHEN d_outage_min = ' ' THEN '"blank"' ELSE d_outage_min END
假设“空”表示一个空白。对于空字符串使用 ''
,对于 NULL
使用 COALESCE()
.
关于sql - 在 PostgreSQL 中查询时需要将空单元格替换为 "Blank",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47878003/