除非此处所有CASE语句为True,否则它将为整个Null列返回Options
我无法弄清楚如何返回任何True CASE语句,即:如果Col2,Col4不为null,则仅返回那些值。我不知道还有什么可以尝试的,有帮助吗?

SELECT
CASE WHEN Col1 Is Not Null THEN '<li>' + Col1 + '</li>' END +
CASE WHEN Col2 Is Not Null THEN '<li>' + Col2 + '</li>' END +
CASE WHEN Col3 Is Not Null THEN '<li>' + Col3 + '</li>' END +
CASE WHEN Col4 Is Not Null THEN '<li>' + Col4 + '</li>' END Options
FROM TABLE


同样,问题是除非找到所有Case语句,否则它为Options列返回Null。

最佳答案

像这样:

SELECT
CASE WHEN Col1 Is Not Null THEN '<li>' + Col1 + '</li>' ELSE '' END +
CASE WHEN Col2 Is Not Null THEN '<li>' + Col2 + '</li>' ELSE '' END +
CASE WHEN Col3 Is Not Null THEN '<li>' + Col3 + '</li>' ELSE '' END +
CASE WHEN Col4 Is Not Null THEN '<li>' + Col4 + '</li>' ELSE '' END Options
FROM TABLE

10-05 21:19
查看更多