Скалярная функция, возвращающая sql_variant или преобразованный тип данных?
Давать следующую функцию:
ALTER FUNCTION [dbo].[InlineMax](@val1 sql_variant, @val2 sql_variant)
RETURNS sql_variant
AS
BEGIN
return CASE WHEN @val1 > @val2 THEN @val1 ELSE @val2 END
END
Можно ли вернуть тот же тип данных, который был получен для @val1 и @val2?
Например: dbo.inlineMax(1,2) возвращает int, а dbo.inlineMax(GETDATE(),GETDATE()+1) возвращает datetime?
RETURNS SQL_VARIANT_PROPERTY( @val1, 'BaseType')