Domanda

Dì che ho un url lungo

xyz = 'www.google.com/xyz?para1=value1&para2=value2&para3=value3....'
.

Sto cercando di ottenere il "para1" da questo lungo URL

Allora, ho

select TRIM(Leading '?' from Substring(xyz from '%#"?%=#"%' for '#'))
.

La risposta che ottengo per questa particolare dichiarazione è

para1=value1&para2=value2&para3=
.

Come posso ottenere solo 'para1' usando l'istruzione Seleziona sopra (o qualsiasi altro metodo simile?)

Sto usando GreenPlum (come menzionato nell'intestazione dell'argomento)

È stato utile?

Soluzione

Dato che apparentemente hai le funzioni regexp_ (non pensavo GreenPlum li ha supportati) Uso:

select (regexp_matches(
   'www.google.com/xyz?para1=value1&para2=value2&para3=value3....',
   '\?([^&]+)='
   ))[1];
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top