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
A date-time format function.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final LinkedHashMap
<DateTimeFormatFunction.CacheKey, DateTimeFormatFunction.CacheValue> static final int
FORMATDATETIME() (non-standard).private final int
private static final String[]
static final int
PARSEDATETIME() (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 -
Method Summary
Modifier and TypeMethodDescriptionstatic String
formatDateTime
(SessionLocal session, Value date, String format, String locale, String timeZone) Formats a date using a format string.private static DateTimeFormatFunction.CacheValue
getDateFormat
(String format, String locale, String timeZone) getName()
Get the name.getValue
(SessionLocal session, Value v1, Value v2, Value v3) Returns the value of this function.private static ZoneId
optimize
(SessionLocal session) Try to optimize the expression.static ValueTimestampTimeZone
parseDateTime
(SessionLocal session, String date, String format, String locale, 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 Details
-
FORMATDATETIME
public static final int FORMATDATETIMEFORMATDATETIME() (non-standard).- See Also:
-
PARSEDATETIME
public static final int PARSEDATETIMEPARSEDATETIME() (non-standard).- See Also:
-
NAMES
-
CACHE
private static final LinkedHashMap<DateTimeFormatFunction.CacheKey,DateTimeFormatFunction.CacheValue> CACHE -
function
private final int function
-
-
Constructor Details
-
DateTimeFormatFunction
public DateTimeFormatFunction(int function)
-
-
Method Details
-
getValue
Description copied from class:FunctionN
Returns the value of this function. -
formatDateTime
public static String formatDateTime(SessionLocal session, Value date, String format, String locale, 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, String date, String format, String locale, 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(String format, String locale, String timeZone) -
getZoneId
-
optimize
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
getName
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-