Package org.h2.value

Class ValueTimestamp

  • All Implemented Interfaces:
    HasSQL, Typed

    public final class ValueTimestamp
    extends Value
    Implementation of the TIMESTAMP data type.
    • 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
        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
        See Also:
        Constant Field Values
      • DEFAULT_SCALE

        public static final int DEFAULT_SCALE
        The default scale for timestamps.
        See Also:
        Constant Field Values
      • MAXIMUM_SCALE

        public static final int MAXIMUM_SCALE
        The maximum scale for timestamps.
        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.
    • Constructor Detail

      • ValueTimestamp

        private ValueTimestamp​(long dateValue,
                               long timeNanos)
    • Method Detail

      • fromDateValueAndNanos

        public static ValueTimestamp fromDateValueAndNanos​(long dateValue,
                                                           long timeNanos)
        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
        Returns:
        the value
      • parse

        public static ValueTimestamp parse​(java.lang.String s,
                                           CastDataProvider provider)
        Parse a string to a ValueTimestamp, using the given CastDataProvider. 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 without 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
      • 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 java.lang.String getString()
        Description copied from class: Value
        Get the value as a string.
        Specified by:
        getString in class Value
        Returns:
        the 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: 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 java.lang.StringBuilder toString​(java.lang.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​(java.lang.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
      • add

        public Value add​(Value v)
        Description copied from class: Value
        Add a value and return the result.
        Overrides:
        add in class Value
        Parameters:
        v - the value to add
        Returns:
        the result
      • subtract

        public Value subtract​(Value v)
        Description copied from class: Value
        Subtract a value and return the result.
        Overrides:
        subtract in class Value
        Parameters:
        v - the value to subtract
        Returns:
        the result