Documentation Home
MySQL Restrictions and Limitations
Related Documentation Download this Excerpt
PDF (US Ltr) - 275.9Kb
PDF (A4) - 275.3Kb


MySQL Restrictions and Limitations  / Restrictions and Limitations on Partitioning  /  Partitioning Limitations Relating to Functions

10.3 Partitioning Limitations Relating to Functions

This section discusses limitations in MySQL Partitioning relating specifically to functions used in partitioning expressions.

Only the MySQL functions shown in the following list are allowed in partitioning expressions:

In MySQL 8.0, partition pruning is supported for theTO_DAYS(),TO_SECONDS(),YEAR(), andUNIX_TIMESTAMP() functions. SeePartition Pruning, for more information.

CEILING() and FLOOR().  Each of these functions returns an integer only if it is passed an argument of an exact numeric type, such as one of theINT types orDECIMAL. This means, for example, that the followingCREATE TABLE statement fails with an error, as shown here:

mysql> CREATE TABLE t (c FLOAT) PARTITION BY LIST( FLOOR(c) )(    ->     PARTITION p0 VALUES IN (1,3,5),    ->     PARTITION p1 VALUES IN (2,4,6)    -> );ERROR 1490 (HY000): The PARTITION function returns the wrong type

EXTRACT() function with WEEK specifier.  The value returned by theEXTRACT() function, when used asEXTRACT(WEEK FROMcol), depends on the value of thedefault_week_format system variable. For this reason,EXTRACT() is not permitted as a partitioning function when it specifies the unit asWEEK. (Bug #54483)

SeeMathematical Functions, for more information about the return types of these functions, as well asNumeric Data Types.