5
有沒有什麼辦法像使用SQL一樣用XQuery執行LIKE操作?xQuery LIKE-operator?
我不想構建一些「startswith」,「endswith」和「contains」表達式。
什麼,我想實現舉例:
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
有沒有辦法在XQuery來實現這一目標?
編輯:
得到了上述問題的答案。新問題:
會有什麼辦法可以以相反的方式做到這一點嗎?我想用sql等價的NOT LIKE運算符運行這些查詢。這可能嗎?它必須是在FLWOR表達式
EDIT2:
問題解決了。你可以運行fn:not(starts-with('123','1')),它返回false。
我很困惑的約束「它必須在FLWOR表達式」。簡單公式`/ user [matches(firstname,'。* xxx')]`有什麼問題?簡單路徑表達式通常比FLWOR表達式更簡潔。 – 2016-01-26 08:10:45
這是一個有用的問題,你似乎已經自己回答了,但沒有提供輸出。你能在這裏發表你的答案嗎? 您能夠使用LIKE比較器字符串的語法,還是必須將其轉換爲xQuery特定的比較字符串? – Ben 2016-05-18 17:09:18