SQL Case语句语法

1 sql-server case

我正在尝试编写一个select语句,它将选择一些字段,包括一个电子邮件字段.此表中有3个电子邮件字段,有时可以包含空值.我想看看3个领域; [电子邮件地址1],[电子邮件地址2],[电子邮件地址3]基本上我想做的是,如果[电子邮件地址3]为空,那么我想要[电子邮件地址2]中的值,如果电子邮件地址2为空,而不是我想要的值在[电子邮件地址1]

我似乎无法使语法正确,我不太确定我做错了什么.

van*_*van 11

你需要的是COALESCE(...)功能:

SELECT COALESCE(t.Email3, t.Email2, t.Email1) FROM MyTable t
Run Code Online (Sandbox Code Playgroud)


dev*_*vio 5

不需要CASE,你也可以使用COALESCE("返回其参数中的第一个非空表达式"):

SELECT COALESCE(Email3, Email2, Email1) ...
Run Code Online (Sandbox Code Playgroud)