java.sql.Interval data type.
JDBC lacks an important data type that is present in most SQL databases:
INTERVAL. The SQL:2008 standard states that there are two types
of intervals:
4.6.3 IntervalsThere are two classes of intervals. One class, called year-month intervals, has an express or implied datetime precision that includes no fields other than YEAR and MONTH, though not both are required. The other class, called day-time intervals, has an express or implied interval precision that can include any fields other than YEAR or MONTH.
INTERVAL can be combined with date time data types according to
the following operation table:
| Operand 1 | Operator | Operand 2 | Result Type |
|---|---|---|---|
| Datetime | – | Datetime | Interval |
| Datetime | + or – | Interval | Datetime |
| Interval | + | Datetime | Datetime |
| Interval | + or – | Interval | Interval |
| Interval | * or / | Numeric | Interval |
| Numeric | * | Interval | Interval |
Interval implementations can be expected to also also extend Number.
Note: only a few databases actually support this data type on its own. You
can still use it for date time arithmetic in other databases, though, through
Field#add(Field) and Field#sub(Field) Databases that have
been observed to natively support INTERVAL data types are:
These dialects have been observed to partially support INTERVAL
data types in date time arithmetic functions, such as
TIMESTAMPADD, and TIMESTAMPDIFF:
| Modifier and Type | Method and Description |
|---|---|
| public Interval | |
| public byte | |
| public double | |
| public float | |
| public int | |
| public int | |
| public long | |
| public Interval | |
| public short | |
| public Duration |
| abs | back to summary |
|---|---|
| public Interval abs() Get the absolute value of the interval (set its sign to positive) | |
| byteValue | back to summary |
|---|---|
public byte byteValue()
| |
| doubleValue | back to summary |
|---|---|
public double doubleValue()
| |
| floatValue | back to summary |
|---|---|
public float floatValue()
| |
| getSign | back to summary |
|---|---|
| public int getSign() The sign of the interval
| |
| intValue | back to summary |
|---|---|
public int intValue()
| |
| longValue | back to summary |
|---|---|
public long longValue()
| |
| neg | back to summary |
|---|---|
| public Interval neg() Negate the interval (change its sign) | |
| shortValue | back to summary |
|---|---|
public short shortValue()
| |
| toDuration | back to summary |
|---|---|
| public Duration toDuration() Get a duration representation of this interval.
There is an obvious
This corresponds to PostgreSQL's
| |