0
我有一個紅移表「人」在特定的列有數據像這樣字符串匹配
[{"attributeName":"name","attributeMetadata":null,"attributeValue":"KitchenAid - 7-Speed Hand Mixer - White","attributeImageType":"PRODUCT","attributeStatusCodes":[]},
{"attributeName":"title","attributeMetadata":null,"attributeValue":"KitchenAid","attributeImageType":"PRODUCT","attributeStatusCodes":[]},
{"attributeName":"address","attributeMetadata":null,"attributeValue":"address","attributeImageType":"PRODUCT","attributeStatusCodes":[]},
{"attributeName":"PIN CODE","attributeMetadata":null,"attributeValue":"32110","attributeImageType":"IMG","attributeStatusCodes":[]}]
我想只提取字典/ JSON /含PIN CODE
子(見下文)
{"attributeName":"PIN CODE","attributeMetadata":null,"attributeValue":"32110","attributeImageType":"IMG","attributeStatusCodes":[]}
我嘗試以下查詢,它給了以下錯誤
select distinct regexp_substr(attributes,'.*({.*?"attributeName":"PIN CODE".*?}).*') from person ;
ERROR: Invalid content of repeat range
DETAIL:
-----------------------------------------------
error: Invalid content of repeat range
code: 8002
context: T_regexp_init
query: 528401
location: funcs_expr.cpp:130
process: query2_40 [pid=12603]
-----------------------------------------------
我猜這個問題是由於單個列中有多個attributeName
而發生的。他們是達到預期結果的一種方式。
你應該逃避花括號'\ {',否則它假定爲像'\ W一個量詞{ 2,5}'。這就是爲什麼它會拋出錯誤'「重複範圍的無效內容」' – Mariano
@Mario抱歉沒有工作,得到了相同的錯誤 –
任何機會,你可以創建一個小提琴? – Mariano