PostgreSQL escape-символы при использовании формулы Excel - PullRequest
1 голос
/ 06 февраля 2020

Я хотел бы сгенерировать запрос, подобный следующему:

select id, '=FKERES(B2;'D:\nyunyuka\[kotyog.xlsx]Munka1'!$A:$B;2;0)' as
 excel_formula from table;

Я узнал, что мне нужно экранировать символ ', используя E, но, похоже, он не работает. Я полагаю, что мне нужно сбежать и от всех 1006. Но это становится сложным для меня.

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Я не уверен, правильно ли я понял вопрос. Надеюсь, что я сделал. Вам необходимо добавить дополнительные одинарные кавычки, например:

select id, '=FKERES(B2;''D:\nyunyuka[kotyog.xlsx]Munka1''!$A:$B;2;0)' as excel_formula 
from table;

Итак, если в предложении select есть одна кавычка ' в строке выбора, вам нужно добавить еще одну '' Работа.

0 голосов
/ 07 февраля 2020

Помимо удвоения кавычек вы можете использовать долларовую кавычку .

    So use
    select id, $Q$=FKERES(B2;'D:\nyunyuka[kotyog.xlsx]Munka1'!$A:$B;2;0)$Q$ as excel_formula 
    from table;

    Instead of

    select id, '=FKERES(B2;''D:\nyunyuka[kotyog.xlsx]Munka1''!$A:$B;2;0)' as excel_formula 
    from table;

Где $ Q $ в приведенном выше месте заменяет открывающую и закрывающую цитату ('). Обычно это того не стоит, только для пары экземпляров, но для длинных строк с множеством цитат это может пригодиться.

...