我一直在尝试运行一些使用to_char函数的单元测试,该函数适用于我们的oracle数据库,但是对于我们的内存数据库中的h2似乎无法正常工作。 我尝试删除别名to_char并对其进行覆盖以使其可行,但是当我尝试删除别名to_char并创建它时,它似乎不起作用。
DROP alias if exists TO_CHAR;
CREATE alias TO_CHAR FOR "package.TEST.toChar";
结果为:“ org.h2.jdbc.JdbcSQLException:函数别名“ TO_CHAR”已存在; SQL语句:”
DROP alias TO_CHAR;
CREATE alias TO_CHAR FOR "package.TEST.toChar";
结果在:“ org.h2.jdbc.JdbcSQLException:未找到函数别名“ TO_CHAR”; SQL语句:”。
还尝试使用直接sql脚本,如下所示,但不起作用:
DROP alias if exists TO_CHAR;
CREATE alias TO_CHAR as '
public static String toChar(String date, String pattern) throws Exception {
pattern = pattern.replaceAll("YY","yy");
pattern = pattern.replaceAll("DD","dd");
pattern = pattern.replaceAll("HH24|hh24","HH");
pattern = pattern.replaceAll("HH?!24|hh?!24","KK");
pattern = pattern.replaceAll("MON|mon","MMM");
pattern = pattern.replaceAll("MI|mi","mm");
pattern = pattern.replaceAll("SS|ss","ss");
pattern = pattern.replaceAll("AM|PM","aa");
pattern = pattern.replaceAll("T","");
SimpleDateFormat sm = new SimpleDateFormat(pattern);
java.util.Date dt;
if(date.length() > 10)dt = java.sql.Timestamp.valueOf(date);
else
dt = java.sql.Date.valueOf(date);
return sm.format(dt);
}';
有谁知道我在这里想念的东西,还是无法覆盖它?