Hibernate查询删除前导零

时间:2016-01-15 18:32:57

标签: hibernate

我想这样做:

 select * from accounts where account_number = '234567'

用户可以在帐号中输入帐号='234567',但数据库列的值可以是'0000234567'。它应该匹配。

这个SQL查询可以工作吗?

select * from accounts a where 
(:accountNumber LIKE (TRIM(REPLACE((a.account_number), '0', '%'))))

1 个答案:

答案 0 :(得分:4)

您可以使用@Formula注释并引入新字段 - trimmedAccount

@Formula("TRIM(REPLACE((account_number), '0', '%')")
private Integer trimmedAccount;

然后在HQL中使用trimmedAccount