in empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java [245:293]
public String getConvertPhrase(DataType destType, DataType srcType, Object format)
{
switch (destType)
{
/*
* case DBExpr.DT_BOOL: return "convert(bit, ?)"; case DBExpr.DT_INTEGER: return "convert(int, ?)"; case
* DBExpr.DT_DECIMAL: return "convert(decimal, ?)"; case DBExpr.DT_NUMBER: return "convert(float, ?)"; case
* DBExpr.DT_DATE: return "convert(datetime, ?, 111)"; case DBExpr.DT_DATETIME: return "convert(datetime, ?, 120)";
*/
// Convert to text
case VARCHAR:
case CHAR:
case CLOB:
if (format instanceof String)
{ // Convert using a format string
return "to_char(?, '"+format.toString()+"')";
}
return "to_char(?)";
// Convert to number
case INTEGER:
case FLOAT:
case DECIMAL:
if (format instanceof String)
{ // Convert using a format string
return "to_number(?, '"+format.toString()+"')";
}
return "to_number(?)";
// Convert to date
case DATE:
case DATETIME:
if (format instanceof String)
{ // Convert using a format string
return "to_date(?, '"+format.toString()+"')";
}
return "to_date(?)";
case TIME:
return "to_date(?, 'HH24:mm:ss')";
case TIMESTAMP:
if (format instanceof String)
{ // Convert using a format string
return "to_timestamp(?, '"+format.toString()+"')";
}
return "to_timestamp(?)";
// Unknown Type
default:
log.error("getConvertPhrase: unknown type " + destType);
return "?";
}
}