用字符串替换Left Outer Join Null值

San*_*eph 1 sql sql-server isnull left-join

我想显示从左外连接返回的空值,字符串为"UnRegistered".

当值是整数或bool时,我只写:

 ISNULL(ReturnedValue, 0) AS ReturnedValue 
Run Code Online (Sandbox Code Playgroud)

但我怎么能做到:

 ISNULL(ReturnedValue, 'UnRegistered') AS ReturnedValue
Run Code Online (Sandbox Code Playgroud)

我使用MS SQL SERVER.

Kaf*_*Kaf 5

由于您需要varchar与int/bool一起使用同一字段中的值,因此您需要确保该字段的每一行都具有相同的数据类型.

Isnull(Convert(varchar(50), ReturnedValue), 'UnRegistered') AS ReturnedValue
Run Code Online (Sandbox Code Playgroud)

或者您可以使用CASEas

Case when ReturnedValue is null then 'UnRegistered'
     else convert(varchar(50), ReturnedValue) end as ReturnedValue
Run Code Online (Sandbox Code Playgroud)