我对Oracle相当陌生。
如果我想替换Oracle 11g中的前导空格和尾随空格,可以肯定地说LTRIM(RTRIM(<myVarchar>))
完全可以由TRIM(<myVarchar>)
替换吗?
另外,当我尝试在使用JPA的查询中使用此功能时,出现错误“ org.hibernate.hql.internal.ast.QuerySyntaxException:意外的AST节点”。
这是我正在使用的查询:
@Query("Select p from OldPin p WHERE TRIM(p.eeNo) = :accNum and
TRIM(p.pinStatus) = 'A' and TRIM(p.memberType='E') and TRIM(p.sCode) in
('MSHK','MCMG')")
public OldPin findByAccountNum(@Param("accNum") String accNum);
最佳答案
修剪会默认删除前导空格和尾随空格
例如。 Trim('test')输出将被测试
如果我们使用Trim(都来自),那么它将从两侧删除一个字符
例如。,
Trim('111oracle111'的'1')输出将是oracle
修剪(从'111oracle111'领先'1')输出将是oracle111
修剪(从'111oracle111'追踪'1')输出将为111oracle
修剪(均为“ abtechab”的“ ab”)-它将引发错误,因为修剪仅支持单个字符
在RTrim和LTrim中,我们可以删除任意数量的字符。