Es gibt eine Frage Tabelle mit einer Spalte namens options
dieErhalten von regulären Ausdrücken String - alles bis zu einem Charakter
'r>>>>>5####answer1|4####answer2|3####answer3|2####answer4|1####answer5'
enthält, die Paare von möglichen Antworten sind
- 5 = answer1
- 4 = antwort2
- usw.
Die Fragen werden von Benutzern festgelegt, aber das Muster ist das gleiche.
Eine andere Tabelle hat eine Antwort des Benutzers, die die Option ausgewählt ist. Ich versuche SQL zu schreiben, um den Antworttext zu extrahieren.
Zum Beispiel sollte 4
answer2
angezeigt werden.
Ich habe versucht:
SELECT substring(question.options from '%4####@"%@"[\|]%' for '@') AS answertext
FROM ...
Aber es zeigt answer2|3####answer3|2####answer4
.
Wie bekomme ich alles bis zum ersten |
?
'substring (‘ r >>>>> 5 #### Antwort1 | 4 #### Antwort2 | 3 #### Antwort3 | 2 #### Antwort4 | 1 #### Antwort5 'von' 4 # + ([^ \ |] +) ') ' – Abelisto
genial !! Danke :) –
Versuchen Sie auch, 'x [1] als n, x [2] als ein aus regexp_matches ('r >>>>> 5 #### answer1 | 4 #### answer2 | 3 ### # answer3 | 2 #### answer4 | 1 #### answer5 ',' ([\ d] +) # + ([^ \ |] +) ',' g ') als t (x); '- wahrscheinlich wird es nützlicher sein. – Abelisto