【发布时间】:2017-06-09 12:20:21
【问题描述】:
我需要连接2个列并将值转换为数字,上面是代码:
SELECT T FROM TABLE T WHERE CAST(substring(replace(T.versionSince, '.', ''), 1, 1)+'.'+substring(replace(T.versionSince, '.', ''), 2) as DOUBLE) <= :version
Hibernate 可以做到吗?
【问题讨论】:
我需要连接2个列并将值转换为数字,上面是代码:
SELECT T FROM TABLE T WHERE CAST(substring(replace(T.versionSince, '.', ''), 1, 1)+'.'+substring(replace(T.versionSince, '.', ''), 2) as DOUBLE) <= :version
Hibernate 可以做到吗?
【问题讨论】:
可以concat和convert,也可以substring,但是不能replace:
更新
你的演员应该是这样的:
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
)
另外:
【讨论】: