如何在带有CONCAT的SELECT语句中使用CASE

时间:2019-02-13 20:11:01

标签: sql-server case

我正在尝试在带有CONCAT的SELECT语句中使用CASE语句,但是在最后一个AS语句中得到无效的表达式

我尝试将CASE语句放入CONCAT并将END放置在最终的AS之前,但仍然无法使它起作用。

SELECT USER_ID AS [USER_ID], USER_TITLE AS [USER_TITLE], (CASE USER.Active   
WHEN 'N' THEN '' ELSE 
concat('http://www.mywebsite.com/','folder/',USER.NAME,'.doc' ) AS [LINK]   

最终结果应该是(如果USER.Active为'Y',则显示网站链接,否则什么也不显示)。

1 个答案:

答案 0 :(得分:0)

您丢失了END

SELECT USER_ID AS [USER_ID], USER_TITLE AS [USER_TITLE], (CASE USER.Active   
WHEN 'N' THEN '' ELSE 
concat('http://www.mywebsite.com/','folder/',USER.NAME,'.doc') END) AS [LINK]