Package org.h2.value
Class ValueTimestampTimeZone
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueTimestampTimeZone
-
-
Field Summary
Fields Modifier and Type Field Description private longdateValueA bit field with bits for the year, month, and day (see DateTimeUtils for encoding)static intDEFAULT_PRECISIONThe default precision and display size of the textual representation of a timestamp.static intMAXIMUM_PRECISIONThe maximum precision and display size of the textual representation of a timestamp.private longtimeNanosThe nanoseconds since midnight.private inttimeZoneOffsetSecondsTime zone offset from UTC in seconds, range of -18 hours to +18 hours.-
Fields inherited from class org.h2.value.Value
ARRAY, ASSIGN_TO, BIGINT, BINARY, BLOB, BOOLEAN, CAST_TO, CHAR, CLOB, CONVERT_TO, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, GROUP_BINARY_STRING, GROUP_BOOLEAN, GROUP_CHARACTER_STRING, GROUP_COLLECTION, GROUP_DATETIME, GROUP_INTERVAL_DT, GROUP_INTERVAL_YM, GROUP_NULL, GROUP_NUMERIC, GROUP_OTHER, GROUPS, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MAX_LONG_DECIMAL, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE
-
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 Modifier Constructor Description privateValueTimestampTimeZone(long dateValue, long timeNanos, int timeZoneOffsetSeconds)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)Compare this value against another value given that the values are of the same data type.booleanequals(java.lang.Object other)Check if the two values have the same hash code.static ValueTimestampTimeZonefromDateValueAndNanos(long dateValue, long timeNanos, int timeZoneOffsetSeconds)Get or create a date value for the given date.longgetDateValue()A bit field with bits for the year, month, and day (see DateTimeUtils for encoding).java.lang.StringgetISOString()Returns value as string in ISO format.intgetMemory()Get the memory used by this object.java.lang.StringBuildergetSQL(java.lang.StringBuilder builder, int sqlFlags)Appends the SQL statement of this object to the specified builder.java.lang.StringgetString()Get the value as a string.longgetTimeNanos()The nanoseconds since midnight.intgetTimeZoneOffsetSeconds()The time zone offset in seconds.TypeInfogetType()Returns the data type.intgetValueType()Get the value type.inthashCode()static ValueTimestampTimeZoneparse(java.lang.String s, CastDataProvider provider)Parse a string to a ValueTimestamp.private java.lang.StringBuildertoString(java.lang.StringBuilder builder, boolean iso)-
Methods inherited from class org.h2.value.Value
add, cache, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBoolean, getByte, getBytes, getBytesNoCopy, getDataConversionError, getDataConversionError, getDouble, getFloat, getHigherOrder, getHigherOrderKnown, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, modulus, multiply, negate, octetLength, rangeCheck, subtract, toString
-
Methods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommitted
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
-
-
-
Field Detail
-
DEFAULT_PRECISION
public static final int DEFAULT_PRECISION
The default precision and display size of the textual representation of a timestamp. Example: 2001-01-01 23:59:59.123456+10:00- See Also:
- Constant Field Values
-
MAXIMUM_PRECISION
public static final int MAXIMUM_PRECISION
The maximum precision and display size of the textual representation of a timestamp. Example: 2001-01-01 23:59:59.123456789+10:00- See Also:
- Constant Field Values
-
dateValue
private final long dateValue
A bit field with bits for the year, month, and day (see DateTimeUtils for encoding)
-
timeNanos
private final long timeNanos
The nanoseconds since midnight.
-
timeZoneOffsetSeconds
private final int timeZoneOffsetSeconds
Time zone offset from UTC in seconds, range of -18 hours to +18 hours. This range is compatible with OffsetDateTime from JSR-310.
-
-
Method Detail
-
fromDateValueAndNanos
public static ValueTimestampTimeZone fromDateValueAndNanos(long dateValue, long timeNanos, int timeZoneOffsetSeconds)
Get or create a date value for the given date.- Parameters:
dateValue- the date value, a bit field with bits for the year, month, and daytimeNanos- the nanoseconds since midnighttimeZoneOffsetSeconds- the timezone offset in seconds- Returns:
- the value
-
parse
public static ValueTimestampTimeZone parse(java.lang.String s, CastDataProvider provider)
Parse a string to a ValueTimestamp. This method supports the format +/-year-month-day hour:minute:seconds.fractional and an optional timezone part.- Parameters:
s- the string to parseprovider- the cast information provider, may benullfor literals with time zone- Returns:
- the date
-
getDateValue
public long getDateValue()
A bit field with bits for the year, month, and day (see DateTimeUtils for encoding).- Returns:
- the data value
-
getTimeNanos
public long getTimeNanos()
The nanoseconds since midnight.- Returns:
- the nanoseconds
-
getTimeZoneOffsetSeconds
public int getTimeZoneOffsetSeconds()
The time zone offset in seconds.- Returns:
- the offset
-
getValueType
public int getValueType()
Description copied from class:ValueGet the value type.- Specified by:
getValueTypein classValue- Returns:
- the value type
-
getMemory
public int getMemory()
Description copied from class:ValueGet the memory used by this object.
-
getString
public java.lang.String getString()
Description copied from class:ValueGet the value as a string.
-
getISOString
public java.lang.String getISOString()
Returns value as string in ISO format.- Returns:
- value as string in ISO format
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)Description copied from interface:HasSQLAppends the SQL statement of this object to the specified builder.- Parameters:
builder- string buildersqlFlags- formatting flags- Returns:
- the specified string builder
-
toString
private java.lang.StringBuilder toString(java.lang.StringBuilder builder, boolean iso)
-
compareTypeSafe
public int compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
Description copied from class:ValueCompare this value against another value given that the values are of the same data type.- Specified by:
compareTypeSafein classValue- Parameters:
o- the other valuemode- the compare modeprovider- the cast information provider- Returns:
- 0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
-
equals
public boolean equals(java.lang.Object other)
Description copied from class:ValueCheck if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.
-
-