sql 服务器:使用合并检查字符是否存在并替换它

sql server: using coalesce to check if character exists and replace it

如何使用 coalesce 检查变量 (@var) 是否为“,”,如果是,则将其替换为“”(空字符串)?

类似于以下内容的反面:

coalese(',','')

所以如果 @var = ',' 那么我想要 @var = ''

但是如果 @var = 'a,b' 那么我不想改变它 -> @var = 'a,b'

Coalesce 专门用于处理 NULL.. 可以使用替换功能吗?

replace(field,',','')

https://docs.microsoft.com/en-us/sql/t-sql/functions/replace-transact-sql

对于更具体的内容,您可以使用案例:

case when field = ',' then '' else field end

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql

对于一个变量:

set @var = case when @var = ',' then '' else @var end

合并仅用于检查空值。

您可以为此使用 case 语句:

select case when col_name=',' then '' else col_name end as col_name