我發現PARSENAME函數是訂購存儲在數據庫中的IP地址的好選擇。 Here有一個例子。
我的問題是,我使用Hibernate在一個XML映射文件命名查詢和我試圖避免使用HQL'parsename'相當於
session.createSQLQuery(..)
功能。
我想知道是否存在任何與HQL查詢相同的PARSENAME函數。我正在尋找它並找不到任何東西。
非常感謝。
我發現PARSENAME函數是訂購存儲在數據庫中的IP地址的好選擇。 Here有一個例子。
我的問題是,我使用Hibernate在一個XML映射文件命名查詢和我試圖避免使用HQL'parsename'相當於
session.createSQLQuery(..)
功能。
我想知道是否存在任何與HQL查詢相同的PARSENAME函數。我正在尋找它並找不到任何東西。
非常感謝。
我沒有找到任何相關的。
最後,我執行以下ORDER BY子句來訂購數字方式的IP地址(我找到了解決辦法here):
order by cast(substring(host.ip, 1, locate('.', host.ip) - 1) as integer),
cast(substring(host.ip, locate('.', host.ip) + 1, locate('.', host.ip, locate('.', host.ip) + 1) - locate('.', host.ip) - 1) as integer),
cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) - locate('.', host.ip, locate('.', host.ip) + 1) - 1) as integer),
cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) + 1, 3) as integer)
子類的話,並使用RegisterFunction()
使PARSENAME提供給HQL查詢。 RegisterFunction
沒有很好的記錄,但有plenty of examples on the web。我不確定你可以用訂購的結果。