mysql查询键值对字段中某个key的值
时间: 2023-07-25 10:31:02 浏览: 332
查询输入的键值
你可以使用MySQL的SELECT语句来查询键值对字段中某个key的值。假设你的表名为`key_value_pairs`,其中有一个名为`kv`的字段存储键值对,键和值之间使用特定的分隔符分隔。如果你想查询键为`foo`的值,你可以使用以下语句:
```
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(kv, '=', -1), ',', 1) AS value
FROM key_value_pairs
WHERE SUBSTRING_INDEX(kv, '=', 1) = 'foo';
```
这条语句的含义是:首先,使用`SUBSTRING_INDEX`函数从`kv`字段中获取以等号分隔的值部分,再使用`SUBSTRING_INDEX`函数从中获取以逗号分隔的第一个值,作为查询结果。其中,`SUBSTRING_INDEX(kv, '=', -1)`表示从`kv`字段中获取最后一个等号后面的值,`SUBSTRING_INDEX(..., ',', 1)`表示从中获取第一个逗号前面的值。`AS value`是给结果列命名为`value`。`WHERE SUBSTRING_INDEX(kv, '=', 1) = 'foo'`表示查询键为`foo`的记录。
需要注意的是,这种存储方式不太规范,建议使用更合适的方式来存储键值对数据,比如使用JSON格式或者新建一张键值对表。
阅读全文