CASE THEN 使用 CONCAT()
CASE THEN using CONCAT()
我有一个复杂的连接部分,其中包括构造 URL 的 CASE WHEN。这对于部分构造来说效果很好,但我 运行 遇到了当每个 CASE 都包含一个 Concat 时执行 CASE WHEN 的问题。我拥有的几个案例中的任何一个都可以单独使用
CASE wHEN T1.Name='X' THEN Concat('A',T1.Field1)
ELSE ''
END
或
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 - You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near CASE WHEN T1.Name='X' THEN Concat' at line 5
您正在尝试在第一个函数中启动另一个 CASE
函数。删除第二个 CASE
它应该可以工作:
CASE WHEN T1.Name='X' THEN Concat('A',T1.Field1)
WHEN T1.Name='Y' THEN Concat('A',T1.Field2)
ELSE ''
END
我有一个复杂的连接部分,其中包括构造 URL 的 CASE WHEN。这对于部分构造来说效果很好,但我 运行 遇到了当每个 CASE 都包含一个 Concat 时执行 CASE WHEN 的问题。我拥有的几个案例中的任何一个都可以单独使用
CASE wHEN T1.Name='X' THEN Concat('A',T1.Field1)
ELSE ''
END
或
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 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near CASE WHEN T1.Name='X' THEN Concat' at line 5
您正在尝试在第一个函数中启动另一个 CASE
函数。删除第二个 CASE
它应该可以工作:
CASE WHEN T1.Name='X' THEN Concat('A',T1.Field1)
WHEN T1.Name='Y' THEN Concat('A',T1.Field2)
ELSE ''
END