MULTIPLY()
All functions > DATE AND TIME > MULTIPLY()
Scales an interval by an integer factor.
Signatures
Interval scaling
Returns: The scaled interval
MULTIPLY(interval: INTERVAL, factor: BIGINT) → INTERVAL sql
| Parameter | Type | Required | Description |
|---|---|---|---|
interval | INTERVAL | Yes | Interval to scale |
factor | BIGINT | Yes | Integer scale factor (TINYINT, SMALLINT, INT, or BIGINT) |
Signature notes:
- Either operand order is accepted:
interval * norn * interval - Returns NULL if either operand is NULL
Related operators
Examples
MULTIPLY(...)
FeatureQL
SELECT
-- Function call
f1 := MULTIPLY(3, 4)
;Result
| f1 BIGINT |
|---|
| 12 |
.MULTIPLY(...) — chained
FeatureQL
SELECT
-- Integer literal: parenthesize for `.MULTIPLY` on BIGINT
f1 := (3).MULTIPLY(4),
-- Decimal base: chain without extra parentheses
f2 := 1.5.MULTIPLY(3)
;Result
| f1 BIGINT | f2 VARCHAR |
|---|---|
| 12 | 4.5 |
Interval scaling
FeatureQL
SELECT
-- Scale a day interval
f1 := INTERVAL_PARSE('1 day') * 3,
-- Integer on the left side
f2 := 5 * INTERVAL_PARSE('2 hours'),
-- Compose sub-hour intervals
f3 := INTERVAL_PARSE('15 minutes') * 4,
-- Zero factor yields zero interval
f4 := INTERVAL_PARSE('1 hour') * 0
;Result
| f1 VARCHAR | f2 VARCHAR | f3 VARCHAR | f4 VARCHAR |
|---|---|---|---|
| 3 days 00:00:00 | 0 days 10:00:00 | 0 days 01:00:00 | 0 days 00:00:00 |
Edge cases
FeatureQL
SELECT
-- Negative factor
f1 := MULTIPLY(-5, 2),
-- Multiplication by zero
f2 := MULTIPLY(0, 100),
-- DECIMAL × DECIMAL
f3 := MULTIPLY(1.5, 3.0),
-- DOUBLE × DOUBLE
f4 := MULTIPLY(1.5e0, 3.0e0)
;Result
| f1 BIGINT | f2 BIGINT | f3 VARCHAR | f4 VARCHAR |
|---|---|---|---|
| -10 | 0 | 4.5 | 4.5 |