Как вставить аргумент функции между $$ $$ строкой в PostgreSQL?

В PostgreSQL для вставки аргумента функции между строкой "$$" используется специальная синтаксическая конструкция, называемая dollar-quoting.

Dollar-quoting позволяет вам указать свой собственный разделитель строк, что особенно полезно, когда вы хотите использовать символ "$" внутри строки без необходимости экранирования.

Синтаксис dollar-quoting выглядит следующим образом:

$$ ваш текст $$

Два символа "$" являются началом и концом строки, а вместо "ваш текст" вы можете вставить любой текст, включая аргументы функции.

Допустим, у вас есть функция, принимающая строковый аргумент "name", и вы хотите использовать эту функцию с аргументом "John". Здесь пример функции:

CREATE FUNCTION your_function(name text)
RETURNS text AS $$
BEGIN
RETURN 'Hello, ' || name || '!';
END;
$$ LANGUAGE plpgsql;

Чтобы вызвать эту функцию, используя аргумент "John", вы можете воспользоваться следующим синтаксисом:

SELECT your_function($$John$$);

Dва символа "$" обозначают начало и конец строки для dollar-quoting, и аргумент "John" помещается между ними.

Использование dollar-quoting позволяет избежать необходимости экранирования символа "$" в аргументе функции.