Package org.h2.expression.function
Class DateTimeFormatFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.OperationN
-
- org.h2.expression.function.FunctionN
-
- org.h2.expression.function.DateTimeFormatFunction
-
- All Implemented Interfaces:
ExpressionWithVariableParameters,NamedExpression,HasSQL,Typed
public final class DateTimeFormatFunction extends FunctionN
A date-time format function.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classDateTimeFormatFunction.CacheKeyprivate static classDateTimeFormatFunction.CacheValue
-
Field Summary
Fields Modifier and Type Field Description private static java.util.LinkedHashMap<DateTimeFormatFunction.CacheKey,DateTimeFormatFunction.CacheValue>CACHEstatic intFORMATDATETIMEFORMATDATETIME() (non-standard).private intfunctionprivate static java.lang.String[]NAMESstatic intPARSEDATETIMEPARSEDATETIME() (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 DateTimeFormatFunction(int function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.StringformatDateTime(SessionLocal session, Value date, java.lang.String format, java.lang.String locale, java.lang.String timeZone)Formats a date using a format string.private static DateTimeFormatFunction.CacheValuegetDateFormat(java.lang.String format, java.lang.String locale, java.lang.String timeZone)java.lang.StringgetName()Get the name.ValuegetValue(SessionLocal session, Value v1, Value v2, Value v3)Returns the value of this function.private static java.time.ZoneIdgetZoneId(java.lang.String timeZone)Expressionoptimize(SessionLocal session)Try to optimize the expression.static ValueTimestampTimeZoneparseDateTime(SessionLocal session, java.lang.String date, java.lang.String format, java.lang.String locale, java.lang.String timeZone)Parses a date using a format string.-
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, 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, 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
-
FORMATDATETIME
public static final int FORMATDATETIME
FORMATDATETIME() (non-standard).- See Also:
- Constant Field Values
-
PARSEDATETIME
public static final int PARSEDATETIME
PARSEDATETIME() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
CACHE
private static final java.util.LinkedHashMap<DateTimeFormatFunction.CacheKey,DateTimeFormatFunction.CacheValue> CACHE
-
function
private final int function
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session, Value v1, Value v2, Value v3)
Description copied from class:FunctionNReturns the value of this function.
-
formatDateTime
public static java.lang.String formatDateTime(SessionLocal session, Value date, java.lang.String format, java.lang.String locale, java.lang.String timeZone)
Formats a date using a format string.- Parameters:
session- the sessiondate- the date to formatformat- the format stringlocale- the localetimeZone- the time zone- Returns:
- the formatted date
-
parseDateTime
public static ValueTimestampTimeZone parseDateTime(SessionLocal session, java.lang.String date, java.lang.String format, java.lang.String locale, java.lang.String timeZone)
Parses a date using a format string.- Parameters:
session- the sessiondate- the date to parseformat- the parsing formatlocale- the localetimeZone- the time zone- Returns:
- the parsed date
-
getDateFormat
private static DateTimeFormatFunction.CacheValue getDateFormat(java.lang.String format, java.lang.String locale, java.lang.String timeZone)
-
getZoneId
private static java.time.ZoneId getZoneId(java.lang.String timeZone)
-
optimize
public Expression optimize(SessionLocal session)
Description copied from class:ExpressionTry to optimize the expression.- Specified by:
optimizein classExpression- Parameters:
session- the session- Returns:
- the optimized expression
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpressionGet the name.- Returns:
- the name in uppercase
-
-