Package org.h2.expression.function

# Class StringFunction

java.lang.Object
org.h2.expression.Expression
org.h2.expression.OperationN
org.h2.expression.function.FunctionN
org.h2.expression.function.StringFunction

All Implemented Interfaces:
  `ExpressionWithVariableParameters`, `NamedExpression`, `HasSQL`, `Typed`

public final class StringFunction extends FunctionN
An string function with multiple arguments.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`INSERT`
INSERT() (non-standard).
`static final int`
`LOCATE`
LOCATE() (non-standard).
`static final int`
`LPAD`
LPAD().
`static final int`
`REPLACE`
REPLACE() (non-standard).
`static final int`
`RPAD`
RPAD().
`static final int`
`TRANSLATE`
TRANSLATE() (non-standard).

### Fields inherited from class org.h2.expression.OperationN

`args, argsCount, type`

### Fields inherited from class org.h2.expression.Expression

`AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

## Constructor Summary

Constructors
Constructor
Description
`StringFunction(Expression[] args, int function)`
`StringFunction(Expression arg1, Expression arg2, Expression arg3, int function)`
`StringFunction(Expression arg1, Expression arg2, Expression arg3, Expression arg4, int function)`

## Method Summary

Modifier and Type
Method
Description
`String`
`getName()`
Get the name.
`Value`
`getValue(SessionLocal session)`
Return the resulting value for the current row.
`Expression`
`optimize(SessionLocal session)`
Try to optimize the expression.

### Methods inherited from class org.h2.expression.function.FunctionN

`getUnenclosedSQL, getValue`

### Methods inherited from class org.h2.expression.OperationN

`addParameter, doneWithParameters, getCost, getSubexpression, getSubexpressionCount, getType, inlineSubexpressions, isEverything, mapColumns, optimizeArguments, setEvaluatable, updateAggregate`

### Methods inherited from class org.h2.expression.Expression

`addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, getTypeIfStaticallyKnown, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isValueSet, isWhenConditionOperand, needParentheses, optimizeCondition, toString, writeExpressions, writeExpressions`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getTraceSQL`

## Field Details

### LOCATE

public static final int LOCATE
LOCATE() (non-standard).

See Also:
  - Constant Field Values

### INSERT

public static final int INSERT
INSERT() (non-standard).

See Also:
  - Constant Field Values

### REPLACE

public static final int REPLACE
REPLACE() (non-standard).

See Also:
  - Constant Field Values

### LPAD

public static final int LPAD
LPAD().

See Also:
  - Constant Field Values

### RPAD

public static final int RPAD
RPAD().

See Also:
  - Constant Field Values

### TRANSLATE

public static final int TRANSLATE
TRANSLATE() (non-standard).

See Also:
  - Constant Field Values

## Constructor Details

### StringFunction

public StringFunction(Expression arg1, Expression arg2, Expression arg3, int function)

### StringFunction

public StringFunction(Expression arg1, Expression arg2, Expression arg3, Expression arg4, int function)

### StringFunction

public StringFunction(Expression[] args, int function)

## Method Details

### getValue

public Value getValue(SessionLocal session)
Description copied from class: `Expression`
Return the resulting value for the current row.

Overrides:
  `getValue` in class `FunctionN`
Parameters:
  `session` - the session
Returns:
  the result

### optimize

public Expression optimize(SessionLocal session)
Description copied from class: `Expression`
Try to optimize the expression.

Specified by:
  `optimize` in class `Expression`
Parameters:
  `session` - the session
Returns:
  the optimized expression

### getName

public String getName()
Description copied from interface: `NamedExpression`
Get the name.

Returns:
  the name in uppercase