Почему SPLIT_PART работает, когда я создаю представление, а не при обновлении столбца таблицы? - PullRequest
0 голосов
/ 05 февраля 2019

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

Ошибка SQL [42601]: строка не определеналитерал начинается с позиции 0 в SQL ', 0)).Ожидаемый символ

Из следующего sql:

update table1
    set email1 = split_part(emails_combined,';',1);

Почему это работает при создании представления, но не при обновлении столбца в таблице?

Есть ли способ заставить это работать в таблице?У меня есть столбец со списком электронных писем, разделенных точками с запятой, которые я хочу разделить, и заполнить отдельные столбцы каждым письмом.

Обновление - вот пример данных в столбце, который я пытаюсь разделить:

    testing@123.net;    
    ;jon@loremipsum.com;jason@sample.net;test@123.com
    jon@loremipsum.com;jason@sample.net;test@123.com
    ;testing@123.net
    ;info@loremipsum.com;misc@random.com;info@stuff.com
    ;  
    jon@loremipsum.com;jason@sample.net;test@123.com

Есть строки, в которых единственным значением является ';'.Пустых строк нет.

Обновление: я случайно попытался переместить закрытие;вниз по другой строке, и SQL работал.Например:

   update table1
    set email1 = split_part(emails_combined,';',1)
;

Почему перемещение закрывающей точки с запятой, как это, имеет значение?

...