package jef.database.query.function; import java.util.List; import jef.database.jsqlparser.expression.Function; import jef.database.jsqlparser.visitor.Expression; public class EmuOracleCast extends BaseArgumentSqlFunction { public String getName() { return "cast"; } public Expression renderExpression(List<Expression> arguments) { assertParam(arguments,2); Expression value=arguments.get(0); String to=arguments.get(1).toString().toLowerCase(); if("char".equals(to) || "varchar".equals(to)){ return new Function("to_char",value); }else if(to.startsWith("int")|| "number".equals(to)){ return new Function("to_number",value); }else if("date".equals(to) || to.startsWith("time")){ return new Function("to_date",value); } throw new IllegalArgumentException("Unknown data type cast to "+ to); } }