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
我在 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