Spec-Zone.ru › MySQL 5.7

22.6.3 Ограничения разбиения, относящиеся к функциям

В этом разделе рассматриваются ограничения разбиения MySQL, относящиеся к функциям, используемым в выражениях разбиения.

В выражениях разбиения разрешены только функции MySQL, показанные в следующем списке:

  • ABS()

  • CEILING() (см. CEILING() и FLOOR())

  • DATEDIFF()

  • DAY()

  • DAYOFMONTH()

  • DAYOFWEEK()

  • DAYOFYEAR()

  • EXTRACT() (см. Функцию EXTRACT() с указанием WEEK)

  • FLOOR() (см. CEILING() и FLOOR())

  • HOUR()

  • MICROSECOND()

  • MINUTE()

  • MOD()

  • MONTH()

  • QUARTER()

  • SECOND()

  • TIME_TO_SEC()

  • TO_DAYS()

  • TO_SECONDS()

  • UNIX_TIMESTAMP() (с столбцами типа TIMESTAMP)

  • WEEKDAY()

  • YEAR()

  • YEARWEEK()

В MySQL 5.7 поддержка обрезки разбиения реализована для функций TO_DAYS(), TO_SECONDS(), YEAR() и UNIX_TIMESTAMP(). Дополнительную информацию см. в разделе 22.4 «Обрезка разбиения».

CEILING() и FLOOR(). Каждая из этих функций возвращает целое число только в том случае, если ей передается аргумент точного числового типа, например, один из типов INT или DECIMAL. Это означает, например, что следующая команда CREATE TABLE завершается ошибкой, как показано здесь:

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() с указанием WEEK. Значение, возвращаемое функцией EXTRACT(), когда она используется как EXTRACT(WEEK FROM col), зависит от значения системной переменной default_week_format. По этой причине EXTRACT() не допускается в качестве функции разбиения, когда она указывает единицу как WEEK. (Ошибка #54483)

Дополнительную информацию о типах возвращаемых значений этих функций, а также о числовых типах данных см. в разделе 12.6.2 «Математические функции» и разделе 11.1 «Числовые типы данных».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/partitioning-limitations-functions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API