mysql选择字段行是否为空替换sametable上另一个字段的数据

mysql选择字段行是否为空替换sametable上另一个字段的数据,mysql,select,field,substitution,Mysql,Select,Field,Substitution,因此,我有上表,我想选择uid,但是如果值为空,我还想将“external”字段中的值替换为“uid”字段。 因此,基本上,我会得到以下结果: UID rn345 ev456 彼得 这是可能的吗?您需要使用coalesce,如果第一个值为null,则返回第二个值: uid external rn345 -- ev456 -- -- Peter 编辑 如果uid字段为空而不是null,则必须使用case语句 select coalesce(uid, externa

因此,我有上表,我想选择uid,但是如果值为空,我还想将“external”字段中的值替换为“uid”字段。 因此,基本上,我会得到以下结果:

UID
rn345
ev456
彼得


这是可能的吗?

您需要使用
coalesce
,如果第一个值为
null,则返回第二个值:

uid     external
rn345   --
ev456   --  
--      Peter
编辑

如果
uid
字段为空而不是
null
,则必须使用
case
语句

select  coalesce(uid, external)
from    yourTable

嗯,我试过了,但是我没有从外部获得价值。
select  case when uid is null or uid = '' then external else uid end
from    yourTable