Esiste un modo per eseguire un'operazione LIKE con XQuery allo stesso modo di SQL?xQuery operatore LIKE?
Non voglio costruire alcuni "startswith", "endswith" e "contiene" -espressioni.
esempio di quello che voglio realizzare:
for $x in /user where $x/firstname LIKE '%xxx' return $x
for $x in /user where $x/middlename LIKE 'xxx%' return $x
for $x in /user where $x/lastname LIKE '%xxx%' return $x
Esiste un modo per raggiungere questo obiettivo in XQuery?
EDIT:
avuto la risposta alla domanda di cui sopra. Nuovo problema:
Ci sarebbe un modo per farlo al contrario? Vorrei eseguire queste query con l'operatore sql equivalente LIKE. È possibile? Deve essere in un FLWOR-espressione
EDIT2:
risolto il problema. È possibile eseguire fn: not (starts-with ('123', '1')) e restituisce false.
Sono perplesso dal vincolo "deve essere in un'espressione FLWOR". Cosa c'è di sbagliato nella formulazione più semplice '/ user [matches (firstname, '. * Xxx')]'? Le espressioni di percorso semplici sono spesso più concise rispetto alle espressioni FLWOR. –
Questa è una domanda utile, a cui sembravi rispondere, ma che non ha fornito l'output. Puoi pubblicare le tue risposte qui per favore? Sei riuscito a utilizzare la sintassi della stringa di comparazione LIKE o hai dovuto tradurla in una stringa di confronto specifica xQuery? – Ben