@@ -1342,8 +1342,8 @@ public function getDateDiffExpression($date1, $date2)
13421342 /**
13431343 * Returns the SQL to add the number of given seconds to a date.
13441344 *
1345- * @param string $date
1346- * @param int|numeric- string $seconds
1345+ * @param string $date
1346+ * @param int|string $seconds
13471347 *
13481348 * @return string
13491349 *
@@ -1365,8 +1365,8 @@ public function getDateAddSecondsExpression($date, $seconds)
13651365 /**
13661366 * Returns the SQL to subtract the number of given seconds from a date.
13671367 *
1368- * @param string $date
1369- * @param int|numeric- string $seconds
1368+ * @param string $date
1369+ * @param int|string $seconds
13701370 *
13711371 * @return string
13721372 *
@@ -1388,8 +1388,8 @@ public function getDateSubSecondsExpression($date, $seconds)
13881388 /**
13891389 * Returns the SQL to add the number of given minutes to a date.
13901390 *
1391- * @param string $date
1392- * @param int|numeric- string $minutes
1391+ * @param string $date
1392+ * @param int|string $minutes
13931393 *
13941394 * @return string
13951395 *
@@ -1411,8 +1411,8 @@ public function getDateAddMinutesExpression($date, $minutes)
14111411 /**
14121412 * Returns the SQL to subtract the number of given minutes from a date.
14131413 *
1414- * @param string $date
1415- * @param int|numeric- string $minutes
1414+ * @param string $date
1415+ * @param int|string $minutes
14161416 *
14171417 * @return string
14181418 *
@@ -1434,8 +1434,8 @@ public function getDateSubMinutesExpression($date, $minutes)
14341434 /**
14351435 * Returns the SQL to add the number of given hours to a date.
14361436 *
1437- * @param string $date
1438- * @param int|numeric- string $hours
1437+ * @param string $date
1438+ * @param int|string $hours
14391439 *
14401440 * @return string
14411441 *
@@ -1457,8 +1457,8 @@ public function getDateAddHourExpression($date, $hours)
14571457 /**
14581458 * Returns the SQL to subtract the number of given hours to a date.
14591459 *
1460- * @param string $date
1461- * @param int|numeric- string $hours
1460+ * @param string $date
1461+ * @param int|string $hours
14621462 *
14631463 * @return string
14641464 *
@@ -1480,8 +1480,8 @@ public function getDateSubHourExpression($date, $hours)
14801480 /**
14811481 * Returns the SQL to add the number of given days to a date.
14821482 *
1483- * @param string $date
1484- * @param int|numeric- string $days
1483+ * @param string $date
1484+ * @param int|string $days
14851485 *
14861486 * @return string
14871487 *
@@ -1503,8 +1503,8 @@ public function getDateAddDaysExpression($date, $days)
15031503 /**
15041504 * Returns the SQL to subtract the number of given days to a date.
15051505 *
1506- * @param string $date
1507- * @param int|numeric- string $days
1506+ * @param string $date
1507+ * @param int|string $days
15081508 *
15091509 * @return string
15101510 *
@@ -1526,8 +1526,8 @@ public function getDateSubDaysExpression($date, $days)
15261526 /**
15271527 * Returns the SQL to add the number of given weeks to a date.
15281528 *
1529- * @param string $date
1530- * @param int|numeric- string $weeks
1529+ * @param string $date
1530+ * @param int|string $weeks
15311531 *
15321532 * @return string
15331533 *
@@ -1549,8 +1549,8 @@ public function getDateAddWeeksExpression($date, $weeks)
15491549 /**
15501550 * Returns the SQL to subtract the number of given weeks from a date.
15511551 *
1552- * @param string $date
1553- * @param int|numeric- string $weeks
1552+ * @param string $date
1553+ * @param int|string $weeks
15541554 *
15551555 * @return string
15561556 *
@@ -1572,8 +1572,8 @@ public function getDateSubWeeksExpression($date, $weeks)
15721572 /**
15731573 * Returns the SQL to add the number of given months to a date.
15741574 *
1575- * @param string $date
1576- * @param int|numeric- string $months
1575+ * @param string $date
1576+ * @param int|string $months
15771577 *
15781578 * @return string
15791579 *
@@ -1595,8 +1595,8 @@ public function getDateAddMonthExpression($date, $months)
15951595 /**
15961596 * Returns the SQL to subtract the number of given months to a date.
15971597 *
1598- * @param string $date
1599- * @param int|numeric- string $months
1598+ * @param string $date
1599+ * @param int|string $months
16001600 *
16011601 * @return string
16021602 *
@@ -1618,8 +1618,8 @@ public function getDateSubMonthExpression($date, $months)
16181618 /**
16191619 * Returns the SQL to add the number of given quarters to a date.
16201620 *
1621- * @param string $date
1622- * @param int|numeric- string $quarters
1621+ * @param string $date
1622+ * @param int|string $quarters
16231623 *
16241624 * @return string
16251625 *
@@ -1641,8 +1641,8 @@ public function getDateAddQuartersExpression($date, $quarters)
16411641 /**
16421642 * Returns the SQL to subtract the number of given quarters from a date.
16431643 *
1644- * @param string $date
1645- * @param int|numeric- string $quarters
1644+ * @param string $date
1645+ * @param int|string $quarters
16461646 *
16471647 * @return string
16481648 *
@@ -1664,8 +1664,8 @@ public function getDateSubQuartersExpression($date, $quarters)
16641664 /**
16651665 * Returns the SQL to add the number of given years to a date.
16661666 *
1667- * @param string $date
1668- * @param int|numeric- string $years
1667+ * @param string $date
1668+ * @param int|string $years
16691669 *
16701670 * @return string
16711671 *
@@ -1687,8 +1687,8 @@ public function getDateAddYearsExpression($date, $years)
16871687 /**
16881688 * Returns the SQL to subtract the number of given years from a date.
16891689 *
1690- * @param string $date
1691- * @param int|numeric- string $years
1690+ * @param string $date
1691+ * @param int|string $years
16921692 *
16931693 * @return string
16941694 *
@@ -1710,11 +1710,11 @@ public function getDateSubYearsExpression($date, $years)
17101710 /**
17111711 * Returns the SQL for a date arithmetic expression.
17121712 *
1713- * @param string $date The column or literal representing a date
1713+ * @param string $date The column or literal representing a date
17141714 * to perform the arithmetic operation on.
1715- * @param string $operator The arithmetic operator (+ or -).
1716- * @param int|numeric- string $interval The interval that shall be calculated into the date.
1717- * @param string $unit The unit of the interval that shall be calculated into the date.
1715+ * @param string $operator The arithmetic operator (+ or -).
1716+ * @param int|string $interval The interval that shall be calculated into the date.
1717+ * @param string $unit The unit of the interval that shall be calculated into the date.
17181718 * One of the {@see DateIntervalUnit} constants.
17191719 *
17201720 * @return string
@@ -1726,6 +1726,17 @@ protected function getDateArithmeticIntervalExpression($date, $operator, $interv
17261726 throw Exception::notSupported (__METHOD__ );
17271727 }
17281728
1729+ /**
1730+ * Generates the SQL expression which represents the given date interval multiplied by a number
1731+ *
1732+ * @param string $interval SQL expression describing the interval value
1733+ * @param int $multiplier Interval multiplier
1734+ */
1735+ protected function multiplyInterval (string $ interval , int $ multiplier ): string
1736+ {
1737+ return sprintf ('(%s * %d) ' , $ interval , $ multiplier );
1738+ }
1739+
17291740 /**
17301741 * Returns the SQL bit AND comparison expression.
17311742 *
0 commit comments