Что-то изменилось в функциях от SQL Server 2016 до версии 2019.
Это тестовая функция:
create function [dbo].[TestFunction]
(
@input uniqueidentifier
)
returns uniqueidentifier
as
begin
select top 0 @input = id from randomTable;
return
(
select @input
)
end
Если я попробую этот код в SQL Server 2016, результатом будет входное значение, но в SQL Server 2019 результат будет нулевым.
Может ли кто-нибудь указать мне правильное направление, что изменилось?
TOP (0)
? Это похоже на вопрос, который, хотя и интересен, не является проблемой; потому что зачем понадобится вам когда-либо нужно быть в первых 0 строках? - person Larnu   schedule 10.01.2020UNION ALL
имеет смысл @Diado; хотя я считаю это странным обходным путем, чтобы просто использовать псевдонимы в правильных местах. Но это не объясняет переменную, но вы согласились и с этим. Это просто не вопрос. - person Larnu   schedule 10.01.2020