结合替换和案例语句



您可以结合案例并替换语句吗?

我有此语句将null显示为空白:

CASE 
    WHEN f.descriptionofwork IS NULL
    THEN 
         ''
    ELSE 
         f.descriptionofwork
END as 'Description'

,但我还需要删除数据中的线路休息/返回,通常会使用此语句:

Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') as 'Description'

我将如何结合两个?

尝试以下:

CASE 
    WHEN f.descriptionofwork IS NULL THEN '' 
    ELSE Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') 
END as 'Description'

COALESCE()CASE更简洁:

SELECT COALESCE(Replace(Replace(f.descriptionofwork, CHAR(10), ''
                               ), CHAR(13), ''
                       ), '') as Description

您不应将列别名放在单引号中。为了避免代码中的问题仅使用字符串和日期常数单引号。

最新更新