例如:
Name Statistics
Amsterdam {"Births:" 23456}
Chicago {"Births:" 67890}
我希望输出为:
Name Births
Amsterdam 23456
Chicago 67890
我想我应该使用REGEXP,但在我的情况下似乎没有任何效果。
名称和出生都是列。
答案 0 :(得分:0)
您也可以使用字符串函数
select
name
, SUBSTRING(SUBSTRING(Statistics , 1, CHAR_LENGTH(Statistics ) -1),
POSITION(' ' IN SUBSTRING(Statistics , 1, CHAR_LENGTH(Statistics) - 1)), 100) AS Births
from my_table
答案 1 :(得分:0)
你不能这样做,因为REGEXP只能在WHERE子句中工作,而不能在select中工作。如果仅 Statistics-column 并且始终包含 Births ,您可以执行类似
的操作SELECT select MID(Statistics, 11, LENGTH(Statistics)-11) FROM table
但这只适用于上面给出的例子。如果统计数据不同,这种方法将无效。
如果你有一个5.7.8或更高版本的mysql-server,你可以使用JSON函数。应该是
SELECT JSON_EXTRACT(Statistics, 'Births') from table