/** * Converts the interval value into a months representation. * * @param interval Interval * @return a long value that represents months equivalent of the interval * value. */ public static long intervalToMonths( SqlIntervalLiteral.IntervalValue interval) { return intervalToMonths( interval.getIntervalLiteral(), interval.getIntervalQualifier()); }
/** * Converts the interval value into a months representation. * * @param interval Interval * @return a long value that represents months equivalent of the interval * value. */ public static long intervalToMonths( SqlIntervalLiteral.IntervalValue interval) { return intervalToMonths( interval.getIntervalLiteral(), interval.getIntervalQualifier()); }
if (clazz == Long.class) { return clazz.cast(valMonth.getSign() * SqlParserUtil.intervalToMonths(valMonth)); } else if (clazz == BigDecimal.class) { return clazz.cast(BigDecimal.valueOf(getValueAs(Long.class)));
if (clazz == Long.class) { return clazz.cast(valMonth.getSign() * SqlParserUtil.intervalToMonths(valMonth)); } else if (clazz == BigDecimal.class) { return clazz.cast(BigDecimal.valueOf(getValueAs(Long.class)));
case INTERVAL_MONTH: long months = SqlParserUtil.intervalToMonths( literal, type.getIntervalQualifier());
case INTERVAL_MONTH: long months = SqlParserUtil.intervalToMonths( literal, type.getIntervalQualifier());
final SqlIntervalLiteral.IntervalValue valMonth = (SqlIntervalLiteral.IntervalValue) literal.value; return valMonth.getSign() * SqlParserUtil.intervalToMonths(valMonth); case INTERVAL_DAY_TIME: final SqlIntervalLiteral.IntervalValue valTime =
final SqlIntervalLiteral.IntervalValue valMonth = (SqlIntervalLiteral.IntervalValue) literal.value; return valMonth.getSign() * SqlParserUtil.intervalToMonths(valMonth); case INTERVAL_DAY_TIME: final SqlIntervalLiteral.IntervalValue valTime =
public void checkIntervalConv(String sql, String expected) { SqlValidator validator = getValidator(); final SqlCall n = (SqlCall) parseAndValidate(validator, sql); SqlNode node = null; for (int i = 0; i < n.operandCount(); i++) { node = stripAs(n.operand(i)); if (node instanceof SqlCall) { node = ((SqlCall) node).operand(0); break; } } assertNotNull(node); SqlIntervalLiteral intervalLiteral = (SqlIntervalLiteral) node; SqlIntervalLiteral.IntervalValue interval = (SqlIntervalLiteral.IntervalValue) intervalLiteral.getValue(); long l = interval.getIntervalQualifier().isYearMonth() ? SqlParserUtil.intervalToMonths(interval) : SqlParserUtil.intervalToMillis(interval); String actual = l + ""; assertEquals(expected, actual); }
public void checkIntervalConv(String sql, String expected) { SqlValidator validator = getValidator(); final SqlCall n = (SqlCall) parseAndValidate(validator, sql); SqlNode node = null; for (int i = 0; i < n.operandCount(); i++) { node = stripAs(n.operand(i)); if (node instanceof SqlCall) { node = ((SqlCall) node).operand(0); break; } } assertNotNull(node); SqlIntervalLiteral intervalLiteral = (SqlIntervalLiteral) node; SqlIntervalLiteral.IntervalValue interval = (SqlIntervalLiteral.IntervalValue) intervalLiteral.getValue(); long l = interval.getIntervalQualifier().isYearMonth() ? SqlParserUtil.intervalToMonths(interval) : SqlParserUtil.intervalToMillis(interval); String actual = l + ""; assertEquals(expected, actual); }