.append(")), "); if (start.getValue() instanceof Number) { long startLong = toLong(start); buf.append(Long.toString(startLong + 1)); } else { if (start.getValue() instanceof Number && end.getValue() instanceof Number) { long startLong = toLong(start); long endLong = toLong(end); buf.append(Long.toString(endLong - startLong)); } else {
@Override public void substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue length) { buf.append("SUBSTR(CAST(("); str.appendTo(buf); buf.append(") AS VARCHAR(").append(Integer.toString(varcharCastLength)) .append(")), "); if (start.getValue() instanceof Number) { buf.append(Long.toString(toLong(start))); } else { buf.append("CAST(("); start.appendTo(buf); buf.append(") AS INTEGER)"); } if (length != null) { buf.append(", "); if (length.getValue() instanceof Number) { buf.append(Long.toString(toLong(length))); } else { buf.append("CAST(("); length.appendTo(buf); buf.append(") AS INTEGER)"); } } buf.append(")"); } }
@Override public void substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue length) { buf.append("SUBSTR(CAST(("); str.appendTo(buf); buf.append(") AS VARCHAR(").append(Integer.toString(varcharCastLength)) .append(")), "); if (start.getValue() instanceof Number) { buf.append(Long.toString(toLong(start))); } else { buf.append("CAST(("); start.appendTo(buf); buf.append(") AS INTEGER)"); } if (length != null) { buf.append(", "); if (length.getValue() instanceof Number) { buf.append(Long.toString(toLong(length))); } else { buf.append("CAST(("); length.appendTo(buf); buf.append(") AS INTEGER)"); } } buf.append(")"); } }
@Override public void substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue length) { buf.append("SUBSTR(CAST(("); str.appendTo(buf); buf.append(") AS VARCHAR(").append(Integer.toString(varcharCastLength)) .append(")), "); if (start.getValue() instanceof Number) { buf.append(Long.toString(toLong(start))); } else { buf.append("CAST(("); start.appendTo(buf); buf.append(") AS INTEGER)"); } if (length != null) { buf.append(", "); if (length.getValue() instanceof Number) { buf.append(Long.toString(toLong(length))); } else { buf.append("CAST(("); length.appendTo(buf); buf.append(") AS INTEGER)"); } } buf.append(")"); } }
@Override public void substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue length) { buf.append("SUBSTR(CAST(("); str.appendTo(buf); buf.append(") AS VARCHAR(").append(Integer.toString(varcharCastLength)) .append(")), "); if (start.getValue() instanceof Number) { buf.append(Long.toString(toLong(start))); } else { buf.append("CAST(("); start.appendTo(buf); buf.append(") AS INTEGER)"); } if (length != null) { buf.append(", "); if (length.getValue() instanceof Number) { buf.append(Long.toString(toLong(length))); } else { buf.append("CAST(("); length.appendTo(buf); buf.append(") AS INTEGER)"); } } buf.append(")"); } }