从字符串sql中提取数据

时间:2017-03-17 16:48:51

标签: sql hive hiveql

如果此数据位于名为" pages"的列中,regexp_extract将如何更改?而且我想要的每一行都包含着:#old:yes:'在'是之后返回字符串:'在下一个字符串之前?

PAGES(表名)

hello:ok:old:yes:age:test:jack   
hello:no:old:yes:hour:black:nancy   
hi:fine:old:yes:minute:white:jason   

你可以看到':old:yes:'是我的起点,我希望regexp_extract返回冒号前的下一个文本。在上面的例子中,我希望得到以下结果:

age  
hour  
minute 

1 个答案:

答案 0 :(得分:2)

select  regexp_extract(page,':old:yes:([^:]+)',1)
from    pages
where   page like '%:old:yes:%'
+--------+
| age    |
| hour   |
| minute |
+--------+