Код: Выделить всё
{% if from_dttm is defined and from_dttm != '' %}
{% set start_date = "'" + from_dttm + "'" %}
{% else %}
{% set start_date = "(SELECT DATEADD(WEEK, -1, DATEADD(DAY, -((DATEPART(WEEKDAY, GETDATE()) -2) % 7), CAST(GETDATE() AS DATE))))" %}
{% endif %}
{% if to_dttm is defined and to_dttm != '' %}
{% set end_date = "'" + to_dttm + "'" %}
{% else %}
{% set end_date = "(SELECT DATEADD(DAY, -((DATEPART(WEEKDAY, GETDATE()) - 1) % 7), CAST(GETDATE() AS DATE)))" %}
{% endif %}
< /code>
Функциональность, которую я не могу, If, если to_dttm и from_dttm не имеют значений (или не существуют), тогда по умолчанию начинаются в понедельник неделю назад и заканчиваются в предыдущее воскресенье.
Эти переменные работают, я могу выбрать их, но у них нет отдельных цитат вокруг них, которые требуют SQL, когда они используются в пункте, когда.
Однако независимо от того, что Метод, который я пытаюсь инкапсулировать их в отдельные кавычки, это всегда приводит к тому, что переменная интерпретируется буквальная строка, а запрос не оценивается. Я думаю, что это простой ответ, но мне очень трудно понять это. Кто -нибудь может помочь?SELECT
'{{ start_date }}' AS startdate,
'{{ end_date }}' AS enddate
SELECT
''' + {{ start_date }} + ''' AS startdate,
''' + {{ end_date }} + ''' AS enddate
< /code>
Добавление сбежавших кавычек в JSON:
{% set start_date = "'" + "(SELECT DATEADD(WEEK, -1, DATEADD(DAY, -((DATEPART(WEEKDAY, GETDATE()) -2) % 7), CAST(GETDATE() AS DATE))))" + "'" %}Все методы, которые я пробовал, приводят к отображению запроса вместо значения, который он должен вернуть.
Подробнее здесь: https://stackoverflow.com/questions/793 ... rpreted-as