Вставить ноль в столбец целочисленного типа в Redshift - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь изменить оператор вставки в Redshift. Я добавил столбец в конце таблицы. Предыдущий последний столбец относится к типу integer, который мне не нужно обрабатывать при вставке (до сих пор оставался нулевым). Можно ли как-нибудь вставить в него нулевые значения? Выражение 'NULL AS [...]', очевидно, завершается ошибкой с сообщением об ошибке:

Неверная операция Amazon: столбец "search_result_size" имеет тип integer, но выражение имеет тип text;

В качестве альтернативы Я постараюсь пропустить этот столбец во время оператора вставки, но я предпочитаю каждый раз объявлять его значение как нулевое. Я искал это в течение достаточно долгого времени, никакого решения пока не найдено. Любые идеи будут приветствоваться.

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Используйте ключевое слово null:

insert into the_table (col_1, col_2, col_3)
values (1, 2, null);

Если вы хотите изменить значение для существующих строк, вам нужно ОБНОВИТЬ:

update the_table
    set the_column = null
where ...
0 голосов
/ 06 марта 2020

Мне действительно удалось решить это с помощью CAST. Итак, я сделал:

[...], CAST (NULL AS INTEGER) AS column_name, [...]

Теперь все работает нормально. Я считаю, что это можно считать правильным подходом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...