次の関数を与える:
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')