Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел обсуждает ограничения в MySQL Partitioning, имеющем отношение определенно к функциям, используемым в разделении выражений.
Только функции MySQL, показанные в следующей таблице, поддерживаются в разделении выражений.
В MySQL 5.7 сокращение раздела поддерживается для TO_DAYS()
, TO_SECONDS()
, YEAR()
, и UNIX_TIMESTAMP()
функции. См. Раздел 17.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.2, "Числовые Типы".