我想这样做:
select * from accounts where account_number = '234567'
用户可以在帐号中输入帐号='234567',但数据库列的值可以是'0000234567'。它应该匹配。
这个SQL查询可以工作吗?
select * from accounts a where
(:accountNumber LIKE (TRIM(REPLACE((a.account_number), '0', '%'))))
答案 0 :(得分:4)
您可以使用@Formula注释并引入新字段 - trimmedAccount
@Formula("TRIM(REPLACE((account_number), '0', '%')")
private Integer trimmedAccount;
然后在HQL中使用trimmedAccount