@@ -1342,8 +1342,8 @@ public function getDateDiffExpression($date1, $date2)
1342
1342
/**
1343
1343
* Returns the SQL to add the number of given seconds to a date.
1344
1344
*
1345
- * @param string $date
1346
- * @param int|numeric- string $seconds
1345
+ * @param string $date
1346
+ * @param int|string $seconds
1347
1347
*
1348
1348
* @return string
1349
1349
*
@@ -1365,8 +1365,8 @@ public function getDateAddSecondsExpression($date, $seconds)
1365
1365
/**
1366
1366
* Returns the SQL to subtract the number of given seconds from a date.
1367
1367
*
1368
- * @param string $date
1369
- * @param int|numeric- string $seconds
1368
+ * @param string $date
1369
+ * @param int|string $seconds
1370
1370
*
1371
1371
* @return string
1372
1372
*
@@ -1388,8 +1388,8 @@ public function getDateSubSecondsExpression($date, $seconds)
1388
1388
/**
1389
1389
* Returns the SQL to add the number of given minutes to a date.
1390
1390
*
1391
- * @param string $date
1392
- * @param int|numeric- string $minutes
1391
+ * @param string $date
1392
+ * @param int|string $minutes
1393
1393
*
1394
1394
* @return string
1395
1395
*
@@ -1411,8 +1411,8 @@ public function getDateAddMinutesExpression($date, $minutes)
1411
1411
/**
1412
1412
* Returns the SQL to subtract the number of given minutes from a date.
1413
1413
*
1414
- * @param string $date
1415
- * @param int|numeric- string $minutes
1414
+ * @param string $date
1415
+ * @param int|string $minutes
1416
1416
*
1417
1417
* @return string
1418
1418
*
@@ -1434,8 +1434,8 @@ public function getDateSubMinutesExpression($date, $minutes)
1434
1434
/**
1435
1435
* Returns the SQL to add the number of given hours to a date.
1436
1436
*
1437
- * @param string $date
1438
- * @param int|numeric- string $hours
1437
+ * @param string $date
1438
+ * @param int|string $hours
1439
1439
*
1440
1440
* @return string
1441
1441
*
@@ -1457,8 +1457,8 @@ public function getDateAddHourExpression($date, $hours)
1457
1457
/**
1458
1458
* Returns the SQL to subtract the number of given hours to a date.
1459
1459
*
1460
- * @param string $date
1461
- * @param int|numeric- string $hours
1460
+ * @param string $date
1461
+ * @param int|string $hours
1462
1462
*
1463
1463
* @return string
1464
1464
*
@@ -1480,8 +1480,8 @@ public function getDateSubHourExpression($date, $hours)
1480
1480
/**
1481
1481
* Returns the SQL to add the number of given days to a date.
1482
1482
*
1483
- * @param string $date
1484
- * @param int|numeric- string $days
1483
+ * @param string $date
1484
+ * @param int|string $days
1485
1485
*
1486
1486
* @return string
1487
1487
*
@@ -1503,8 +1503,8 @@ public function getDateAddDaysExpression($date, $days)
1503
1503
/**
1504
1504
* Returns the SQL to subtract the number of given days to a date.
1505
1505
*
1506
- * @param string $date
1507
- * @param int|numeric- string $days
1506
+ * @param string $date
1507
+ * @param int|string $days
1508
1508
*
1509
1509
* @return string
1510
1510
*
@@ -1526,8 +1526,8 @@ public function getDateSubDaysExpression($date, $days)
1526
1526
/**
1527
1527
* Returns the SQL to add the number of given weeks to a date.
1528
1528
*
1529
- * @param string $date
1530
- * @param int|numeric- string $weeks
1529
+ * @param string $date
1530
+ * @param int|string $weeks
1531
1531
*
1532
1532
* @return string
1533
1533
*
@@ -1549,8 +1549,8 @@ public function getDateAddWeeksExpression($date, $weeks)
1549
1549
/**
1550
1550
* Returns the SQL to subtract the number of given weeks from a date.
1551
1551
*
1552
- * @param string $date
1553
- * @param int|numeric- string $weeks
1552
+ * @param string $date
1553
+ * @param int|string $weeks
1554
1554
*
1555
1555
* @return string
1556
1556
*
@@ -1572,8 +1572,8 @@ public function getDateSubWeeksExpression($date, $weeks)
1572
1572
/**
1573
1573
* Returns the SQL to add the number of given months to a date.
1574
1574
*
1575
- * @param string $date
1576
- * @param int|numeric- string $months
1575
+ * @param string $date
1576
+ * @param int|string $months
1577
1577
*
1578
1578
* @return string
1579
1579
*
@@ -1595,8 +1595,8 @@ public function getDateAddMonthExpression($date, $months)
1595
1595
/**
1596
1596
* Returns the SQL to subtract the number of given months to a date.
1597
1597
*
1598
- * @param string $date
1599
- * @param int|numeric- string $months
1598
+ * @param string $date
1599
+ * @param int|string $months
1600
1600
*
1601
1601
* @return string
1602
1602
*
@@ -1618,8 +1618,8 @@ public function getDateSubMonthExpression($date, $months)
1618
1618
/**
1619
1619
* Returns the SQL to add the number of given quarters to a date.
1620
1620
*
1621
- * @param string $date
1622
- * @param int|numeric- string $quarters
1621
+ * @param string $date
1622
+ * @param int|string $quarters
1623
1623
*
1624
1624
* @return string
1625
1625
*
@@ -1641,8 +1641,8 @@ public function getDateAddQuartersExpression($date, $quarters)
1641
1641
/**
1642
1642
* Returns the SQL to subtract the number of given quarters from a date.
1643
1643
*
1644
- * @param string $date
1645
- * @param int|numeric- string $quarters
1644
+ * @param string $date
1645
+ * @param int|string $quarters
1646
1646
*
1647
1647
* @return string
1648
1648
*
@@ -1664,8 +1664,8 @@ public function getDateSubQuartersExpression($date, $quarters)
1664
1664
/**
1665
1665
* Returns the SQL to add the number of given years to a date.
1666
1666
*
1667
- * @param string $date
1668
- * @param int|numeric- string $years
1667
+ * @param string $date
1668
+ * @param int|string $years
1669
1669
*
1670
1670
* @return string
1671
1671
*
@@ -1687,8 +1687,8 @@ public function getDateAddYearsExpression($date, $years)
1687
1687
/**
1688
1688
* Returns the SQL to subtract the number of given years from a date.
1689
1689
*
1690
- * @param string $date
1691
- * @param int|numeric- string $years
1690
+ * @param string $date
1691
+ * @param int|string $years
1692
1692
*
1693
1693
* @return string
1694
1694
*
@@ -1710,11 +1710,11 @@ public function getDateSubYearsExpression($date, $years)
1710
1710
/**
1711
1711
* Returns the SQL for a date arithmetic expression.
1712
1712
*
1713
- * @param string $date The column or literal representing a date
1713
+ * @param string $date The column or literal representing a date
1714
1714
* 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.
1718
1718
* One of the {@see DateIntervalUnit} constants.
1719
1719
*
1720
1720
* @return string
@@ -1726,6 +1726,17 @@ protected function getDateArithmeticIntervalExpression($date, $operator, $interv
1726
1726
throw Exception::notSupported (__METHOD__ );
1727
1727
}
1728
1728
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
+
1729
1740
/**
1730
1741
* Returns the SQL bit AND comparison expression.
1731
1742
*
0 commit comments