Перейти к содержимому
Последнее обновление

ARRAY_WITH_CONSTANT

Назначение​

ARRAY_WITH_CONSTANT используется для создания массива заданной длины, все элементы которого имеют указанное значение.

Синтаксис​

ARRAY_WITH_CONSTANT(count, element)

Параметры​

  • count: целочисленный тип, задаёт длину возвращаемого массива.

  • element: любой тип данных, поддерживаемый в ARRAY.

Возвращаемое значение​

  • Возвращает массив типа ARRAY<T>, где T обозначает тип element.
    • Массив содержит count копий одного и того же элемента element.

Примечания по использованию​

  • Если count = 0 или NULL, возвращается пустой массив.
  • Если element имеет значение NULL, все элементы массива равны NULL.
  • Эта функция работает так же, как ARRAY_REPEAT, но параметры указаны в обратном порядке.
  • Можно использовать совместно с другими функциями для работы с массивами, чтобы создавать более сложные структуры данных.

Примеры​

  1. Простой пример

    SELECT ARRAY_WITH_CONSTANT(3, 'hello');
    +---------------------------------+
    | ARRAY_WITH_CONSTANT(3, 'hello') |
    +---------------------------------+
    | ["hello", "hello", "hello"] |
    +---------------------------------+
  2. Особые случаи

    SELECT ARRAY_WITH_CONSTANT(0, 'hello');
    +---------------------------------+
    | ARRAY_WITH_CONSTANT(0, 'hello') |
    +---------------------------------+
    | [] |
    +---------------------------------+

    SELECT ARRAY_WITH_CONSTANT(NULL, 'hello');
    +------------------------------------+
    | ARRAY_WITH_CONSTANT(NULL, 'hello') |
    +------------------------------------+
    | [] |
    +------------------------------------+

    SELECT ARRAY_WITH_CONSTANT(2, NULL);
    +------------------------------+
    | ARRAY_WITH_CONSTANT(2, NULL) |
    +------------------------------+
    | [null, null] |
    +------------------------------+

    SELECT ARRAY_WITH_CONSTANT(NULL, NULL);
    +---------------------------------+
    | ARRAY_WITH_CONSTANT(NULL, NULL) |
    +---------------------------------+
    | [] |
    +---------------------------------+

    -- Returns error: INVALID_ARGUMENT
    SELECT ARRAY_WITH_CONSTANT(-1, 'hello');