Package org.h2.value
Class ValueNumeric
Implementation of the NUMERIC data type.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default scale for a NUMERIC value.static final intThe maximum scale.static final ValueNumericThe value 'one'.static final ValueNumericThe value 'zero'.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, 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_IGNORECASEFields 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 -
Method Summary
Modifier and TypeMethodDescriptionAdd a value and return the result.intcompareTypeSafe(Value o, CompareMode mode, CastDataProvider provider) Compare this value against another value given that the values are of the same data type.Divide by a value and return the result.booleanCheck if the two values have the same hash code.static ValueNumericget(BigDecimal dec) Get or create a NUMERIC value for the given big decimal.static ValueNumericget(BigInteger bigInteger) Get or create a NUMERIC value for the given big integer.static ValueNumericgetAnyScale(BigDecimal dec) Get or create a NUMERIC value for the given big decimal with possibly negative scale.doubleReturns this value as a Javadoublevalue.floatgetFloat()Returns this value as a Javafloatvalue.intGet the memory used by this object.intgetSQL(StringBuilder builder, int sqlFlags) Appends the SQL statement of this object to the specified builder.Get the value as a string.getType()Returns the data type.intGet the value type.inthashCode()Take the modulus with a value and return the result.Multiply with a value and return the result.negate()Return -value if this value support arithmetic operations.static BigDecimalsetScale(BigDecimal bd, int scale) Set the scale of a BigDecimal value.Subtract a value and return the result.Methods inherited from class org.h2.value.Value
castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyJson, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToJson, convertToLong, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, getBigInteger, getBoolean, getByte, getBytes, getBytesNoCopy, getHigherOrder, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getTypeName, getUnsupportedExceptionForOperation, getValueWithFirstNull, isFalse, isTrue, octetLength, toStringMethods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommittedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
Field Details
-
ZERO
The value 'zero'. -
ONE
The value 'one'. -
DEFAULT_SCALE
public static final int DEFAULT_SCALEThe default scale for a NUMERIC value.- See Also:
-
MAXIMUM_SCALE
public static final int MAXIMUM_SCALEThe maximum scale.- See Also:
-
-
Method Details
-
getString
Description copied from class:ValueGet the value as a string. -
getSQL
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
-
getType
Description copied from interface:TypedReturns the data type. -
getValueType
public int getValueType()Description copied from class:ValueGet the value type.- Specified by:
getValueTypein classValue- Returns:
- the value type
-
add
Description copied from class:ValueAdd a value and return the result. -
subtract
Description copied from class:ValueSubtract a value and return the result. -
negate
Description copied from class:ValueReturn -value if this value support arithmetic operations. -
multiply
Description copied from class:ValueMultiply with a value and return the result. -
divide
Description copied from class:ValueDivide by a value and return the result. -
modulus
Description copied from class:ValueTake the modulus with a value and return the result. -
compareTypeSafe
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
-
getSignum
public int getSignum() -
getBigDecimal
- Overrides:
getBigDecimalin classValue
-
getFloat
public float getFloat()Description copied from class:ValueReturns this value as a Javafloatvalue. -
getDouble
public double getDouble()Description copied from class:ValueReturns this value as a Javadoublevalue. -
hashCode
public int hashCode() -
equals
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. -
getMemory
public int getMemory()Description copied from class:ValueGet the memory used by this object. -
get
Get or create a NUMERIC value for the given big decimal.- Parameters:
dec- the big decimal- Returns:
- the value
-
getAnyScale
Get or create a NUMERIC value for the given big decimal with possibly negative scale. If scale is negative, it is normalized to 0.- Parameters:
dec- the big decimal- Returns:
- the value
-
get
Get or create a NUMERIC value for the given big integer.- Parameters:
bigInteger- the big integer- Returns:
- the value
-
setScale
Set the scale of a BigDecimal value.- Parameters:
bd- the BigDecimal valuescale- the new scale- Returns:
- the scaled value
-