Есть ли в pl/pgsql способ повысить расчеты?

Я пытаюсь протестировать некоторый код, и было бы здорово, если бы был способ RAISE NOTICE, как я сделал бы с print() или console.log().

вот моя попытка, но не уверен, как это работает:

DO
$cols$
DECLARE
    qty_cols INT := 3;
    current_month INT := ( SELECT EXTRACT(MONTH FROM DATE(NOW())) );
    month_col INT;
BEGIN
    FOR month_col IN 1..qty_cols LOOP
        IF current_month < (month_col+1) THEN
            --RAISE NOTICE (12+current_month) - month_col;
            RAISE NOTICE '%', (12+current_month) - month_col;
        ELSE
            --RAISE NOTICE (current_month - month_col);
            RAISE NOTICE '%', (12+current_month) - month_col;
        END IF;
    END LOOP;
END
$cols$;

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

@CaiusJard сделал это, чувак, спасибо!

sql boi 17.05.2022 22:52
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
1
15
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

RAISE NOTICE ожидает следующий аргумент, представляющий собой строку формата с заполнителями %, в которую будут помещены последующие аргументы. Последующие аргументы могут быть вычислениями

After level if any, you can write a format (which must be a simple string literal, not an expression). The format string specifies the error message text to be reported. The format string can be followed by optional argument expressions to be inserted into the message. Inside the format string, % is replaced by the string representation of the next optional argument's value. Write %% to emit a literal %. The number of arguments must match the number of % placeholders in the format string, or an error is raised during the compilation of the function.

Минимально строка формата для одного последующего аргумента будет выглядеть так:

RAISE NOTICE '%', (12+current_month) - month_col;

Хотя намерение, возможно, состоит в том, чтобы быть более описательным:

RAISE NOTICE 'The month difference is %', (12+current_month) - month_col;

Другие вопросы по теме

Похожие вопросы

SQL-запрос для получения общей продолжительности для каждого статуса
Запрос SAS Passthrough выполняется с жестко закодированными датами, но не с макропеременными в качестве дат
Ошибка преобразования при преобразовании даты и/или времени из строки символов. SQL-запрос
Является ли более эффективным объединение в LIKE или IN SPLIT_STRING() для строки значений, разделенных запятыми, в SQL Server?
Как сделать оператор select вставки в sql с изменяющимся значением в столбце для каждой строки
Что такое «выделенный DGA (под PGA)» и «максимальный выделенный DGA» в представлении V$PGASTAT?
Sql(dr) отправляет недостающий результат
Исключите перекрывающиеся события (начало/окончание) с учетом места проведения_id
Повторяющиеся записи Snowflake/SQL на основе значений в списке, разделенном запятыми
Как получить значения двух столбцов внешнего ключа, если они соответствуют одному и тому же ключу?