【发布时间】:2022-01-11 10:31:41
【问题描述】:
这是我的表结构。 (MariaDB 或 MySql)
| id | data |
|---|---|
| 1 | {"one":"1","two":"3"} |
| 2 | {"one":"2","two":"4"} |
我想得到这样的输出
| id | One | Two |
|---|---|---|
| 1 | Good | Bad |
| 2 | More Good | Very Bad |
Values
1 = Good
2 = More Good
3 = Bad
4 = Very Bad
这是我在 MySQL 中的错误查询
SET @ONE = 'Good';
SET @TWO = 'More Good';
SET @THREE = 'Bad';
SET @FOUR = 'Very Bad';
SELECT id,
CASE
WHEN REPLACE(json_extract(data, '$.one'), '"', '') = 1 THEN @ONE
WHEN REPLACE(json_extract(data, '$.one'), '"', '') = 2 THEN @TWO
WHEN REPLACE(json_extract(data, '$.one'), '"', '') = 3 THEN @THREE
WHEN REPLACE(json_extract(data, '$.one'), '"', '') = 4 THEN @FOUR
ELSE 'NO'
END as One,
CASE
WHEN REPLACE(json_extract(data, '$.two'), '"', '') = 1 THEN @ONE
WHEN REPLACE(json_extract(data, '$.two'), '"', '') = 2 THEN @TWO
WHEN REPLACE(json_extract(data, '$.two'), '"', '') = 3 THEN @THREE
WHEN REPLACE(json_extract(data, '$.two'), '"', '') = 4 THEN @FOUR
ELSE 'NO'
END as Two
From TableName;
【问题讨论】:
-
MySQL 还是 mariaDB?现在有很多不同了!
-
什么是精确 DBMS版本?
标签: mysql mariadb refactoring