MariaDB 案例声明

MariaDB Case statement

我在 Mariadb 数据库中有以下 SQL 代码: (1)

select Labornummer, Matrix, FaktorGW, FaktorAW
from gc_Faktoren

我需要以下结果:

如果 Matrix='AW' => 我需要字段“FaktorAW”

else => 我需要字段“FaktorGW”

是否可以用“案例陈述”来表述陈述 (1)?

尝试

select Labornummer, Matrix, FaktorGW, FaktorAW, 
CASE
 WHEN Matrix = 'AW' THEN FaktorAW ELSE FaktorGW END as New_Field
from gc_Faktor

当然,这是可能的。 基本上你可以这样做:

SELECT labornummer, matrix, faktoraw, faktorgw,
CASE WHEN matrix = 'AW' THEN faktoraw
ELSE faktorgw END AS factor
FROM gc_faktoren;

你必须小心这是否真的是你想要的,例如这不会检查 lower/upper 大小写。请参阅工作示例: db<>fiddle