然后使用CONCAT()

时间:2019-04-08 23:09:58

标签: mysql concat case-when

我有一个复杂的连接部分,其中包括一个CASE WHEN来构造一个URL。这在部分构造中效果很好,但是当每个CASE包含一个Concat时,我在执行CASE时都会遇到问题。我拥有的几个案例中的任何一个都可以与之合作

CASE wHEN T1.Name='X' THEN Concat('A',T1.Field1)
ELSE ''
END

OR

CASE WHEN T1.Name='Y' THEN Concat('B',T1.Field2)
ELSE ''
END

一旦我尝试做

CASE WHEN T1.Name='X' THEN  Concat('A',T1.Field1)
CASE WHEN T1.Name='X' THEN Concat('A',T1.Field2)
ELSE ''
END

我收到类似错误

  

[Err] 1064-您的SQL语法有错误;查看手册   对应于您的MySQL服务器版本的正确语法,   在CASE WHEN T1.Name ='X'THEN Concat'第5行附近使用

1 个答案:

答案 0 :(得分:1)

您正在尝试在第一个内部启动另一个CASE函数。删除第二个CASE,它应该可以工作:

CASE WHEN T1.Name='X' THEN  Concat('A',T1.Field1)
     WHEN T1.Name='Y' THEN Concat('A',T1.Field2)
ELSE ''
END