使用Regex提取SQL中的列数据

k97glaaz  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(99)

我有一个JSON数据列。如何在SQL中使用正则表达式将值提取到列中
json_table

Column 1: timestamp
Column 2: name
Column 3: json_column
{
   key1 : "value1"
   key2 : "value2"
}

我想做以下事情

SELECT timestamp, 
name, 
(REGEX on json_column) as key1,
(REGEX on json_column) as key2,
FROM json_table
kwvwclae

kwvwclae1#

假设你的json_column实际上是有效的JSON,

{
   "key1" : "value1",
   "key2" : "value2"
}

你可以简单地使用MySQL 5.7及以上版本中内置的JSON功能:

SELECT `timestamp`, 
      name, 
      json_column->>'$.key1' AS key1,
      json_column->>'$.key2' as key2
FROM `json_table`

dbfiddle.uk上的演示
如果你没有使用这些版本之一,你真的需要升级,因为早期版本已经不支持了很长一段时间。

相关问题