我想做:
select * from accounts where account_number = '234567'
用户可以在 GUI 上输入帐号 = '234567',但数据库列的值可能为 '0000234567' 。但它仍然应该匹配。
这个 SQL 查询可以工作吗?
select * from accounts a where
(:accountNumber LIKE (TRIM(REPLACE((a.account_number), '0', '%'))))
最佳答案
您可以使用@Formula注释并引入一个新字段-trimmedAccount
@Formula("TRIM(REPLACE((account_number), '0', '%')")
private Integer trimmedAccount;
然后只需在 HQL 中使用 trimmedAccount
关于Hibernate 查询删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817530/