org.h2.expression.function

## Class LengthFunction

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.Operation1
    - - org.h2.expression.function.Function1
      - - org.h2.expression.function.LengthFunction

All Implemented Interfaces:
  NamedExpression, HasSQL, Typed

    public final class LengthFunction
    extends Function1

CHAR_LENGTH(), or OCTET_LENGTH() function.

### Field Summary

Fields
`static int` `BIT_LENGTH` BIT_LENGTH() (non-standard).
`static int` `CHAR_LENGTH` CHAR_LENGTH().
`static int` `OCTET_LENGTH` OCTET_LENGTH().

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

`arg, 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 and Description
`LengthFunction(Expression arg, int function)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.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.Function1

`getUnenclosedSQL`

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

`getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, 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, 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 Detail

#### CHAR_LENGTH

    public static final int CHAR_LENGTH

CHAR_LENGTH().

See Also:
  Constant Field Values

#### OCTET_LENGTH

    public static final int OCTET_LENGTH

OCTET_LENGTH().

See Also:
  Constant Field Values

#### BIT_LENGTH

    public static final int BIT_LENGTH

BIT_LENGTH() (non-standard).

See Also:
  Constant Field Values

### Constructor Detail

#### LengthFunction

    public LengthFunction(Expression arg,
                          int function)

### Method Detail

#### getValue

    public Value getValue(SessionLocal session)

Description copied from class: `Expression`
Return the resulting value for the current row.

Specified by:
  `getValue` in class `Expression`
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 java.lang.String getName()

Description copied from interface: `NamedExpression`
Get the name.

Returns:
  the name in uppercase