Package org.h2.value

# Class ValueChar

java.lang.Object
org.h2.value.VersionedValue<Value>
org.h2.value.Value
org.h2.value.ValueChar

All Implemented Interfaces:
  `HasSQL`, `Typed`

public final class ValueChar extends Value
Implementation of the CHARACTER data type.

## Field Summary

### 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_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`

## Method Summary

Modifier and Type
Method
Description
`int`
`compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)`
Compare this value against another value given that the values are of the same data type.
`boolean`
`equals(Object other)`
Check if the two values have the same hash code.
`static ValueChar`
`get(String s)`
Get or create a CHAR value for the given string.
`final BigDecimal`
`getBigDecimal()`
`final BigInteger`
`getBigInteger()`
`final boolean`
`getBoolean()`
Returns this value as a Java `boolean` value.
`final byte`
`getByte()`
Returns this value as a Java `byte` value.
`final byte[]`
`getBytes()`
`final double`
`getDouble()`
Returns this value as a Java `double` value.
`final float`
`getFloat()`
Returns this value as a Java `float` value.
`final int`
`getInt()`
Returns this value as a Java `int` value.
`final long`
`getLong()`
Returns this value as a Java `long` value.
`final int`
`getMemory()`
Get the memory used by this object.
`final short`
`getShort()`
Returns this value as a Java `short` value.
`StringBuilder`
`getSQL(StringBuilder builder, int sqlFlags)`
Appends the SQL statement of this object to the specified builder.
`final String`
`getString()`
Get the value as a string.
`final TypeInfo`
`getType()`
Returns the data type.
`int`
`getValueType()`
Get the value type.
`int`
`hashCode()`

### Methods inherited from class org.h2.value.Value

`add, 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, divide, getBytesNoCopy, getHigherOrder, getInputStream, getInputStream, getReader, getReader, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueWithFirstNull, isFalse, isTrue, modulus, multiply, negate, octetLength, 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`

## Method Details

### getValueType

public int getValueType()
Description copied from class: `Value`
Get the value type.

Specified by:
  `getValueType` in class `Value`
Returns:
  the value type

### compareTypeSafe

public int compareTypeSafe(Value v, 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.

Parameters:
  `v` - 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

### 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

### get

public static ValueChar get(String s)
Get or create a CHAR value for the given string.

Parameters:
  `s` - the string
Returns:
  the value

### getType

public final 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

### hashCode

public int hashCode()

Specified by:
  `hashCode` in class `Value`

### getString

public final String getString()
Description copied from class: `Value`
Get the value as a string.

Specified by:
  `getString` in class `Value`
Returns:
  the string

### getBytes

public final byte[] getBytes()

Overrides:
  `getBytes` in class `Value`

### getBoolean

public final boolean getBoolean()
Description copied from class: `Value`
Returns this value as a Java `boolean` value.

Overrides:
  `getBoolean` in class `Value`
Returns:
  value
See Also:
  - `Value.isTrue()`
  - `Value.isFalse()`

### getByte

public final byte getByte()
Description copied from class: `Value`
Returns this value as a Java `byte` value.

Overrides:
  `getByte` in class `Value`
Returns:
  value

### getShort

public final short getShort()
Description copied from class: `Value`
Returns this value as a Java `short` value.

Overrides:
  `getShort` in class `Value`
Returns:
  value

### getInt

public final int getInt()
Description copied from class: `Value`
Returns this value as a Java `int` value.

Overrides:
  `getInt` in class `Value`
Returns:
  value

### getLong

public final long getLong()
Description copied from class: `Value`
Returns this value as a Java `long` value.

Overrides:
  `getLong` in class `Value`
Returns:
  value

### getBigInteger

public final BigInteger getBigInteger()

Overrides:
  `getBigInteger` in class `Value`

### getBigDecimal

public final BigDecimal getBigDecimal()

Overrides:
  `getBigDecimal` in class `Value`

### getFloat

public final float getFloat()
Description copied from class: `Value`
Returns this value as a Java `float` value.

Overrides:
  `getFloat` in class `Value`
Returns:
  value

### getDouble

public final double getDouble()
Description copied from class: `Value`
Returns this value as a Java `double` value.

Overrides:
  `getDouble` in class `Value`
Returns:
  value

### getMemory

public final 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

### 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