Package org.h2.value

Class ValueTimestampTimeZone

All Implemented Interfaces:
HasSQL, Typed

public final class ValueTimestampTimeZone extends Value
Implementation of the TIMESTAMP WITH TIME ZONE data type.
  • Field Details

    • 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:
    • 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:
    • 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.
  • Constructor Details

    • ValueTimestampTimeZone

      private ValueTimestampTimeZone(long dateValue, long timeNanos, int timeZoneOffsetSeconds)
  • Method Details

    • 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 day
      timeNanos - the nanoseconds since midnight
      timeZoneOffsetSeconds - the timezone offset in seconds
      Returns:
      the value
    • parse

      public static ValueTimestampTimeZone parse(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 parse
      provider - the cast information provider, may be null for 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
    • getType

      public TypeInfo getType()
      Description copied from interface: Typed
      Returns the data type.
      Specified by:
      getType in interface Typed
      Specified by:
      getType in class Value
      Returns:
      the data type
    • getValueType

      public int getValueType()
      Description copied from class: Value
      Get the value type.
      Specified by:
      getValueType in class Value
      Returns:
      the value type
    • getMemory

      public int getMemory()
      Description copied from class: Value
      Get the memory used by this object.
      Overrides:
      getMemory in class Value
      Returns:
      the memory used in bytes
    • getString

      public String getString()
      Description copied from class: Value
      Get the value as a string.
      Specified by:
      getString in class Value
      Returns:
      the string
    • getISOString

      public String getISOString()
      Returns value as string in ISO format.
      Returns:
      value as string in ISO format
    • getSQL

      public StringBuilder getSQL(StringBuilder builder, int sqlFlags)
      Description copied from interface: HasSQL
      Appends the SQL statement of this object to the specified builder.
      Parameters:
      builder - string builder
      sqlFlags - formatting flags
      Returns:
      the specified string builder
    • toString

      private StringBuilder toString(StringBuilder builder, boolean iso)
    • compareTypeSafe

      public int compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
      Description copied from class: Value
      Compare this value against another value given that the values are of the same data type.
      Specified by:
      compareTypeSafe in class Value
      Parameters:
      o - the other value
      mode - the compare mode
      provider - 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(Object other)
      Description copied from class: Value
      Check 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.
      Specified by:
      equals in class Value
      Parameters:
      other - the other value
      Returns:
      true if they are equal
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class Value