add(Ops.ALIAS, "{0} {1}"); add(SQLOps.NEXTVAL, "{0s}.nextval"); add(Ops.INDEX_OF, "instrb({0},{1})-1", Precedence.ARITH_LOW); add(Ops.INDEX_OF_2ARGS, "instrb({0},{1},{2}+1)-1", Precedence.ARITH_LOW); add(Ops.MATCHES, "regexp_like({0},{1})", -1); add(Ops.StringOps.LOCATE, "instr({1},{0})"); add(Ops.StringOps.LOCATE2, "instr({1},{0},{2s})"); add(Ops.StringOps.LEFT, "substr({0},1,{1})"); add(Ops.StringOps.RIGHT, "substr({0},-{1s},length({0}))"); add(Ops.MathOps.CEIL, "ceil({0})"); add(Ops.MathOps.RANDOM, "dbms_random.value"); add(Ops.MathOps.LN, "ln({0})"); add(Ops.MathOps.LOG, "log({1},{0})"); add(Ops.MathOps.COT, "(cos({0}) / sin({0}))"); add(Ops.MathOps.COTH, "(exp({0} * 2) + 1) / (exp({0} * 2) - 1)"); add(Ops.MathOps.DEG, "({0} * 180 / "+Math.PI+")"); add(Ops.MathOps.RAD, "({0} * "+Math.PI+" / 180)"); add(Ops.DateTimeOps.DATE, "trunc({0})"); add(Ops.DateTimeOps.WEEK, "to_number(to_char({0},'WW'))"); add(Ops.DateTimeOps.DAY_OF_WEEK, "to_number(to_char({0},'D')) + 1"); add(Ops.DateTimeOps.DAY_OF_YEAR, "to_number(to_char({0},'DDD'))"); add(Ops.DateTimeOps.YEAR_WEEK, "to_number(to_char({0},'IYYY') || to_char({0},'IW'))"); add(Ops.DateTimeOps.ADD_YEARS, "{0} + interval '{1s}' year"); add(Ops.DateTimeOps.ADD_MONTHS, "{0} + interval '{1s}' month");