可以Concat的和轉換,也可以串,但不能代替:
更新
這是你的施法看起來應該像:
cast(
(concat(
substring(u.firstName,1,locate('.', u.firstName))
, concat(
substring(
u.firstName
,1+locate('.', u.firstName, locate('.', u.firstName))
,locate('.', u.firstName, 1+locate('.', u.firstName, locate('.', u.firstName)))- (1+locate('.', u.firstName, locate('.', u.firstName)))
)
, substring(
u.firstName
, 1+locate('.', u.firstName, 1+locate('.', u.firstName, locate('.', u.firstName)))
, length(u.firstName)
)
)
)
) as float
)
此外:
- 這適用於以下字符串:「1.2.3」
- 演員表(.. as float)..根據您的基礎數據庫,您可能需要使用'double','real'或'numeric'
- If你碰巧在某些行上有一些不同的格式,那麼你有玩我的查詢變化..
- 底線是,你不能在hql中使用REPLACE ..這樣的功能不存在..你有使用SUBSTRING和LOCATE的組合。它不像使用REPLACE那樣容易,但如果你付出努力,你可以把它關掉。
但是我需要刪除刪除點,我只是可以保留第一個點,因爲我的版本號需要加倍。 –
給我一個例子 –
我有'1.2.3'和'1.2.5'2列我需要轉換兩個ro比較1.20(雙或十進制) –