我想對數據庫中的字符串字段執行相當複雜的查詢。我對JPQL並不是很有經驗,所以我想我會盡力得到一些幫助。複雜的JPQL字符串查詢
我在數據庫中有一個名爲FILE_PATH
的字段。內FILE_PATH
領域,會有值,如:
- 'C:\ TEMP \文件\ FILENAME.TXT'
- 「文件:\\\ C:\測試\ testfolder \ innerfolder \文件名2。 txt'
我需要能夠從用戶指定的查詢中僅對文件名進行搜索。因此,不必簡單地做一個SELECT Table FROM Table AS t WHERE t.filePath LIKE '%:query%'
,事情將不得不稍微複雜一點,以適應路徑的文件名部分。文件路徑和文件名是動態數據,所以我不能在其中硬編碼前綴字符串。這讓我非常困惑,但我知道JPQL中有一些字符串表達式可能能夠處理這個需求。
基本上,我只需要返回與FILE_PATH
字段中最後一個'\'後面的給定查詢匹配的所有行。這可能嗎?
感謝您的幫助。
編輯:正在使用的數據庫是SQL Server。
謝謝。我會試試這個。我正在使用SQL Server作爲數據庫。 – 2010-09-09 15:29:28
..不確定LOCATE(,, - 1)是否可以與MS SQL Server一起使用.. – 2010-09-09 15:44:07
看起來像LOCATE(,, - 1)不會使用MS SQL Server進行右側搜索:http:// msdn.microsoft.com/en-us/library/ms186323.aspx「如果未指定start_location,則爲負數,或爲0,則搜索將從expression2開始。」 - 所以沒有反向搜索。是否可以使用原生查詢?在這種情況下,您可以使用REVERSE來「模擬」從右向左搜索。 – 2010-09-09 15:50:24