Почему я продолжаю получать неправильное использование 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.