Package org.h2.expression.function
Class ToCharFunction
java.lang.Object
org.h2.expression.Expression
org.h2.expression.OperationN
org.h2.expression.function.FunctionN
org.h2.expression.function.ToCharFunction
- All Implemented Interfaces:
ExpressionWithVariableParameters,NamedExpression,HasSQL,Typed
Emulates Oracle's TO_CHAR function.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumRepresents a capitalization / casing strategy. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe beginning of the Julian calendar.static final intThe month field.static final intThe month field (short form).static final intThe weekday field (short form).static final intThe weekday field.Fields inherited from class org.h2.expression.OperationN
args, argsCount, typeFields inherited from class org.h2.expression.Expression
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESESFields 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 voidUsed for testing.static String[]getDateNames(int names) Get the date (month / weekday / ...) names.getName()Get the name.getValue(SessionLocal session, Value v1, Value v2, Value v3) Returns the value of this function.optimize(SessionLocal session) Try to optimize the expression.static StringtoChar(BigDecimal number, String format, String nlsParam) Emulates Oracle's TO_CHAR(number) function.static StringtoCharDateTime(SessionLocal session, Value value, String format, String nlsParam) Emulates Oracle's TO_CHAR(datetime) function.Methods inherited from class org.h2.expression.function.FunctionN
getUnenclosedSQL, getValueMethods inherited from class org.h2.expression.OperationN
addParameter, doneWithParameters, getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, optimizeArguments, setEvaluatable, updateAggregateMethods 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, writeExpressionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
Field Details
-
JULIAN_EPOCH
public static final int JULIAN_EPOCHThe beginning of the Julian calendar.- See Also:
-
MONTHS
public static final int MONTHSThe month field.- See Also:
-
SHORT_MONTHS
public static final int SHORT_MONTHSThe month field (short form).- See Also:
-
WEEKDAYS
public static final int WEEKDAYSThe weekday field.- See Also:
-
SHORT_WEEKDAYS
public static final int SHORT_WEEKDAYSThe weekday field (short form).- See Also:
-
-
Constructor Details
-
ToCharFunction
-
-
Method Details
-
toChar
Emulates Oracle's TO_CHAR(number) function.
See also TO_CHAR(number) and number format models in the Oracle documentation.TO_CHAR(number) function Input Output Closest DecimalFormatEquivalent, Grouping separator. , . Decimal separator. . $ Leading dollar sign. $ 0 Leading or trailing zeroes. 0 9 Digit. # B Blanks integer part of a fixed point number less than 1. # C ISO currency symbol. ¤ D Local decimal separator. . EEEE Returns a value in scientific notation. E FM Returns values with no leading or trailing spaces. None. G Local grouping separator. , L Local currency symbol. ¤ MI Negative values get trailing minus sign, positive get trailing space. - PR Negative values get enclosing angle brackets, positive get spaces. None. RN Returns values in Roman numerals. None. S Returns values with leading/trailing +/- signs. None. TM Returns smallest number of characters possible. None. U Returns the dual currency symbol. None. V Returns a value multiplied by 10^n. None. X Hex value. None. - Parameters:
number- the number to formatformat- the format pattern to use (if any)nlsParam- the NLS parameter (if any)- Returns:
- the formatted number
-
getDateNames
Get the date (month / weekday / ...) names.- Parameters:
names- the field- Returns:
- the names
-
clearNames
public static void clearNames()Used for testing. -
toCharDateTime
public static String toCharDateTime(SessionLocal session, Value value, String format, String nlsParam) Emulates Oracle's TO_CHAR(datetime) function.TO_CHAR(datetime) function Input Output Closest SimpleDateFormatEquivalent- / , . ; : "text" Reproduced verbatim. 'text' A.D. AD B.C. BC Era designator, with or without periods. G A.M. AM P.M. PM AM/PM marker. a CC SCC Century. None. D Day of week. u DAY Name of day. EEEE DY Abbreviated day name. EEE DD Day of month. d DDD Day of year. D DL Long date format. EEEE, MMMM d, yyyy DS Short date format. MM/dd/yyyy E Abbreviated era name (Japanese, Chinese, Thai) None. EE Full era name (Japanese, Chinese, Thai) None. FF[1-9] Fractional seconds. S FM Returns values with no leading or trailing spaces. None. FX Requires exact matches between character data and format model. None. HH HH12 Hour in AM/PM (1-12). hh HH24 Hour in day (0-23). HH IW Week in year. w WW Week in year. w W Week in month. W IYYY IYY IY I Last 4/3/2/1 digit(s) of ISO year. yyyy yyy yy y RRRR RR Last 4/2 digits of year. yyyy yy Y,YYY Year with comma. None. YEAR SYEAR Year spelled out (S prefixes BC years with minus sign). None. YYYY SYYYY 4-digit year (S prefixes BC years with minus sign). yyyy YYY YY Y Last 3/2/1 digit(s) of year. yyy yy y J Julian day (number of days since January 1, 4712 BC). None. MI Minute in hour. mm MM Month in year. MM MON Abbreviated name of month. MMM MONTH Name of month, padded with spaces. MMMM RM Roman numeral month. None. Q Quarter of year. None. SS Seconds in minute. ss SSSSS Seconds in day. None. TS Short time format. h:mm:ss aa TZD Daylight savings time zone abbreviation. z TZR Time zone region information. zzzz X Local radix character. None. See also TO_CHAR(datetime) and datetime format models in the Oracle documentation.
- Parameters:
session- the sessionvalue- the date-time value to formatformat- the format pattern to use (if any)nlsParam- the NLS parameter (if any)- Returns:
- the formatted timestamp
-
getValue
Description copied from class:FunctionNReturns the value of this function. -
optimize
Description copied from class:ExpressionTry to optimize the expression.- Specified by:
optimizein classExpression- Parameters:
session- the session- Returns:
- the optimized expression
-
getName
Description copied from interface:NamedExpressionGet the name.- Returns:
- the name in uppercase
-