Почему я продолжаю получать неправильное использование const UDF в SSMS?

Я продолжаю получать предупреждения в SSMS (используя v17.7) и RedGate SQL Prompt:

Неправильное использование const UDF

Это подчеркивает SYSUTCDATETIME()

Следующие подчеркивания SYSUTCDATETIME() в обоих местах

   SELECT 2
     FROM (VALUES (CAST('2020-06-26' AS DATETIME2(7)))) AS s (SampleAt)
    WHERE s.SampleAt BETWEEN SYSUTCDATETIME() AND DATEADD(DAY, 100, SYSUTCDATETIME())

Следующее совсем не подчеркивает это:

    SELECT 2
     WHERE CAST('2020-06-26' AS DATETIME2(7)) BETWEEN SYSUTCDATETIME() AND DATEADD(DAY, 100, SYSUTCDATETIME())

И совсем не подчеркивает:

DECLARE @now AS DATETIME2 = SYSUTCDATETIME()

   SELECT 2
     FROM (VALUES (CAST('2020-06-26' AS DATETIME2(7)))) AS s (SampleAt)
    WHERE s.SampleAt BETWEEN @now AND DATEADD(DAY, 100, @now)

1 ответ

Решение

I spoke with the developers. This is a bug in the tool. Thanks for identifying it. They're actively working to get a fix in place and it should be published soon.

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