Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用sql server case语句生成字符串吗?_Sql_Sql Server 2008 - Fatal编程技术网

我可以使用sql server case语句生成字符串吗?

我可以使用sql server case语句生成字符串吗?,sql,sql-server-2008,Sql,Sql Server 2008,在SQL server 2008中是否可以执行以下操作: CASE WHEN var1 = 1 THEN 'message 1 ' END as messages CASE WHEN var2 = 1 THEN 'message 2 ' END as messages 其中,如果两个变量均为真,则消息将导致消息1消息2 我确实意识到我可以执行子查询并创建消息,但我很好奇,是否可以不使用子查询或使用语句来执行 是的,可以通过连接字符串并在没有内容时使用空字符串来实现 SELECT CASE

在SQL server 2008中是否可以执行以下操作:

CASE WHEN var1 = 1 THEN 'message 1 ' END as messages
CASE WHEN var2 = 1 THEN 'message 2 ' END as messages 
其中,如果两个变量均为真,则消息将导致
消息1消息2


我确实意识到我可以执行子查询并创建消息,但我很好奇,是否可以不使用子查询或使用语句来执行

是的,可以通过连接字符串并在没有内容时使用空字符串来实现

SELECT
  CASE WHEN @var1 = 1 THEN 'message 1 ' ELSE '' END +
  CASE WHEN @var2 = 1 THEN 'message 2 ' ELSE '' END as messages 

是的,可以通过连接字符串并在没有内容时使用空字符串来实现

SELECT
  CASE WHEN @var1 = 1 THEN 'message 1 ' ELSE '' END +
  CASE WHEN @var2 = 1 THEN 'message 2 ' ELSE '' END as messages 

是的,您可以,您有连接字符串:

CONCAT(
  CASE WHEN var1 = 1 THEN 'message 1 ' END,
  CASE WHEN var2 = 1 THEN 'message 2 ' END
) as messages 

是的,您可以,您有连接字符串:

CONCAT(
  CASE WHEN var1 = 1 THEN 'message 1 ' END,
  CASE WHEN var2 = 1 THEN 'message 2 ' END
) as messages 

我没想到会这么简单。谢谢,我没想到会这么简单。非常感谢。