- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有元数据存储在带有地理标记的 mysql 中。我想提取一组特定数据的纬度和经度,我这辈子都无法弄清楚将级别指定到值的语法
我需要单独的值,这样我就可以用它来检查该位置是否与记录的位置相匹配,如果不相距很远。 gps计算部分很简单。
我感兴趣的数据字符串如下所示:
"outcome_rating":{"value":"continue_support","timestamp":"2019-05-29 16:11:07", "geostamp":"lat=-29.787506666666665, long=31.022944999999996, alt=64.0, accuracy=8.2"}
该表称为“监控”该字段称为“devicemagic_metadata”
我的尝试
SELECT
select JSON_EXTRACT(devicemagic_metadata, "$.outcome_rating"."$.geostamp"."$.lat")
FROM monitorings;
如有任何帮助或指导,我们将不胜感激
最佳答案
您当前的 JSON 内容无效,因为它确实包含一个未出现在大括号内的外键。看看下面正确的格式应该是什么。此解决方案假定您使用的是 MySQL 8+,它具有正则表达式替换功能。如果不是,那么您将需要一些非常丑陋的字符串函数调用来将纬度和经度与 JSON 值隔离开来。
WITH monitorings AS (
SELECT '{"outcome_rating":{"value":"continue_support","timestamp":"2019-05-29 16:11:07", "geostamp":"lat=-29.787506666666665, long=31.022944999999996, alt=64.0, accuracy=8.2"}}' AS devicemagic_metadata
)
SELECT
REGEXP_REPLACE(JSON_EXTRACT(devicemagic_metadata, "$.outcome_rating.geostamp"),
'^"lat=([^,]+),.*$', '$1') AS lat,
REGEXP_REPLACE(JSON_EXTRACT(devicemagic_metadata, "$.outcome_rating.geostamp"),
'^.*long=([^,]+),.*$', '$1') AS lng
FROM monitorings;
关于mysql - 使用 JSON_EXTRACT 时遇到路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56421562/
我的 mysql 列名为 json: {"myarray":[ { "users":"82,191", type":"3" } ]} 这是表列 json 上方我想找到 id 为 191.82 的用户,
我无法在 JSON 记录上使用 (mysql) JSON_EXTRACT,例如: [{"id": 156, "betas": [{"id": 324, "title": "mario", "gamma
我无法在 JSON 记录上使用 (mysql) JSON_EXTRACT,例如: [{"id": 156, "betas": [{"id": 324, "title": "mario", "gamma
我们有一个日志表,它会随着新事件的发生而增长。目前,我们存储了大约 120,000 行日志事件。 事件表如下所示: 'CREATE TABLE `EVENTS` ( `ID` int(11) NOT
我有下表定义: `CREATE TABLE `TestInfo` ( `Info` json DEFAULT NULL ) ; ` 正在插入两行带有 json 值的行。 INSERT INTO `
我的问题是,当我尝试使用 mysql 函数 JSON_EXTRACT 获取数据时,问题是我使用索引 [0] 进行操作,一切正常,但是当我请求下一个 [1] 时,返回 null。我尝试过没有索引来了解搜
语法对我来说是正确的,任何帮助将不胜感激! mysql> select fieldnames from tablename limit 5; +----------------------------
我有以下 JSON-File在 MYSQL数据库: [ { "order" : 0, "value" : 0.168257 }, { "order" : 0.031250,
我正在尝试从一组 jsons 中的每个 json 中提取两个 key (使用 sql legacy) 目前我正在使用 json 提取功能: json_extract(json_column , '$[
下面返回键“a”的值,即“x”。如果人们已经知道 key 名称,这很好。 SELECT JSON_EXTRACT('{"a":"x", "b":"y"}', "$['a']") as val 在我的用
下面返回键“a”的值,即“x”。如果人们已经知道 key 名称,这很好。 SELECT JSON_EXTRACT('{"a":"x", "b":"y"}', "$['a']") as val 在我的用
我有元数据存储在带有地理标记的 mysql 中。我想提取一组特定数据的纬度和经度,我这辈子都无法弄清楚将级别指定到值的语法 我需要单独的值,这样我就可以用它来检查该位置是否与记录的位置相匹配,如果不相
MyJsonArray [{"ID":"D29","PersonID":"23616639"},{"ID":"D30","PersonID":"22629626"}] 我想从 sql 函数将此数组设置
我正在 MySQL 中使用 JSON 类型列。我有一个包含两列 id 和 jsondata (json 类型列)的表。以下是我的 json 行的示例: { "id": "35", "var
当使用 JSON.stringify 将 JSON 对象保存在 Mysql 中时,它会将字符“\”放入字符串中。我正在构建一个 VIEW,我需要用 json_extract 来分离数据,因为我使用了
我创建了一个简单的搜索表单。首先,我分解单词并进行一些查询(用于一次搜索多个单词)。另外,我只想搜索电影标题。电影标题可以在 movie_data 中找到。 我的名为“movies”的数据库有以下行:
您好,我有一个关于 mysql json_extract 函数的问题。 有两个表; users +------------------------------------+ | id | em
首先,我不确定我的标题是否以正确的方式解释了这个问题,但我认为我的代码会。 而不是这样做: SELECT * FROM mytable WHERE JSON_EXTRACT(`cars`,'$."65
我有一个数据库,其中有一组数据存储在 JSON 列中。我需要在 JSON 数组的特定位置找到所有具有空值的值。使用 JSON_EXTRACT 提取数据时看起来微不足道,我对 null 的比较都没有奏效
当使用 Google 的 BigQuery 时,有一个 function可以使用 jsonPath 从 json 字符串中提取元素。例如: SELECT JSON_EXTRACT(data,"$.ke
我是一名优秀的程序员,十分优秀!