if exists ( select * from sys.objects where object_id = object_id(N'dbo.nvl') and type = N'FN') begin drop function [dbo].[nvl]; end go create function dbo.nvl(@check_value sql_variant ,@replace_value sql_variant ) returns sql_variant as begin return isnull(@check_value,@replace_value); end go select dbo.nvl(null,'sfs') select dbo.nvl(null,1) select dbo.nvl(null,getdate()) select dbo.nvl(1111,100000000)