public class DB2SubstringFunction extends StandardSQLFunction
When "substring" function is used for DB2, this implementation of StandardSQLFunction
will render "substr" or "substring", depending on the last argument being used. If the last
argument is a string unit ("CODEUNITS16", "CODEUNITS32", or "OCTETS"), then the function
will be rendered as "substring"; otherwise, it will be rendered as "substr".
<p/>
ANSI SQL-92 standard defines "substring" without string units, which is more similar to DB2’s "substr",
so it makes sense to use DB2’s "substr" function when string units are not provided.
<p/>
Background: DB2 has both "substr" and "substring", which are different functions that are not
interchangeable. Prior to DB2 11.1, DB2’s "substring" function requires an argument for string
units; without this argument, DB2 throws an exception. DB2’s "substr" function throws an exception
if string unit is provided as an argument.
Constructor and Description |
---|
DB2SubstringFunction() |
Modifier and Type | Method and Description |
---|---|
protected String |
getRenderedName(List arguments) |
getName, getReturnType, getType, hasArguments, hasParenthesesIfNoArguments, render, toString
protected String getRenderedName(List arguments)
getRenderedName
in class StandardSQLFunction
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.