我的问题实际上是在葡萄牙语中,诸如名称之类的单词包含特殊字符(á,é,í,ó,ú等)。然后,我需要一些HQL本机函数来进行此更改。
HQL通讯员有Oracle的TRANSLATE函数吗?
这是我的问题:
StringBuilder sb = new StringBuilder();
sb.append("SELECT ");
sb.append("P.NUM_CPF_CNPJ AS numCpf, ");
sb.append("P.NUM_NIT_PIS_PAS AS numNitPisPasep, ");
sb.append("TRANSLATE(P.NOME_PROFISSIONAL, ");
sb.append("'ŠŽšžŸÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜÏÖÑÝåáçéíóúàèìòùâêîôûãõëüïöñýÿ', ");
sb.append("'SZszYACEIOUAEIOUAEIOUAOEUIONYaaceiouaeiouaeiouaoeuionyy') AS nomeProfissional, ");
sb.append("TO_CHAR(P.DATA_NASCIMENTO, 'DD/MM/YYYY') AS dataNascimento, ");
sb.append("TO_CHAR(MAX(DP.DATA_SITUACAO), 'DD/MM/YYYY HH24:MI') AS dataSituacao ");
sb.append("FROM PROFISSIONAL P, DADO_PROFISSIONAL DP, NOMEACAO NM ");
sb.append("WHERE LENGTH(P.NUM_CPF_CNPJ) = 11 AND ");
sb.append("P.DATA_NASCIMENTO IS NOT NULL AND ");
sb.append("P.IDE_PROFISSIONAL = DP.IDE_PROFISSIONAL AND ");
sb.append("NM.IDE_PROFISSIONAL = DP.IDE_PROFISSIONAL AND ");