我從特定的lastModified
屬性中檢索jcr中的一組節點。 但是對於某些節點,它沒有lastModified
屬性,在這種情況下,我的查詢必須查找jcr:createdDate
。 它將如何實現? 這是我的查詢如何檢查jcr節點是否有屬性?
SELECT * FROM [nt:base] AS s WHERE [cq:lastModified] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE)
感謝
我從特定的lastModified
屬性中檢索jcr中的一組節點。 但是對於某些節點,它沒有lastModified
屬性,在這種情況下,我的查詢必須查找jcr:createdDate
。 它將如何實現? 這是我的查詢如何檢查jcr節點是否有屬性?
SELECT * FROM [nt:base] AS s WHERE [cq:lastModified] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE)
感謝
我認爲使用OR條件應該爲你的情況下工作,因爲其上次更改時間不超過指定日期更大的顯然不會有createdDate大於節點它。
而如果上次更改不存在,它會檢查該createdDate和產生的結果也相應
SELECT * FROM [nt:base] AS s
WHERE [cq:lastModified] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE)
OR [jcr:created] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE)
測試的屬性沒有looks like that:
[cq:lastModified] IS NULL
您的查詢可以改寫到:
SELECT *
FROM [nt:base] AS s
WHERE
[cq:lastModified] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE)
OR ([cq:lastModified] IS NULL
AND
[jcr:created] > CAST('2014-05-08T17:36:00.400+05:30' AS DATE))
難道你不覺得對NULL的檢查是unnec essary和查詢將返回相同的結果沒有那麼多? – rakhi4110
在這種特殊情況下,這是真的,但sridhar問如何檢查給定的財產是否沒有價值。在其他情況下,當我們沒有像'jcr:created'這樣的第二個「助手*屬性」時,這個答案可能會有用。 –
同意。謝謝。 – rakhi4110