2013-02-18 55 views
0

如何使用我在使用或在查詢中?如何使用或在Xquery中

我想返回,如果名稱=「邁克爾」或年齡= 21。 這就是我

$d[contains((name,"Michael") or (age,"21"))] 

回答

2

如果要檢查它們是否=:

$d[name = "Michael" or age = "21"] 

,或者如果你真的想使用包含:

$d[contains(name,"Michael") or contains(age,"21")] 

當你寫contains((,) or (,))你似乎在句法層面上使用了or,給了xquery解析器兩個不同的東西。這在Xquery或一般的大多數編程語言中是不可能的,因爲它們的函數和操作數在的表達式上操作,而不是在它們的語法上操作。然而,(name,"Michael")沒有任何價值(嗯,它具有兩個元素序列的值,但這不是您感興趣的值),如果name包含"Michael",則只有contains(name,"Michael")具有測試的實際值。所以或必須在兩個電話contains之間。

+0

謝謝。我得到這個錯誤「包含」:函數與arity 1沒有聲明 – Michael 2013-02-18 18:15:42

+0

這裏是我包含代碼$ d [contains((name,「Michael」)或contains(age,「21」))] – Michael 2013-02-18 18:16:01

+1

因爲你仍然使用(而不是一個( – BeniBela 2013-02-18 18:27:48