给你个例子看看吧。CREATE FUNCTION dbo.func_getdate 
(@date datetime)
RETURNS varchar(10)
AS
BEGIN
declare @y varchar(4)
declare @m varchar(2)
declare @d varchar(2)
declare @dt varchar(10) set @y = convert(varchar(4),year(@date))
set @m = convert(varchar(2),month(@date))
set @d = convert(varchar(2),day(@date))
set @dt = @m + '/' + @d + '/' + @y
if @dt = '1/1/1900' 
set @dt = ''
if @dt = '01/01/1900'
set @dt = ''
if @dt = '12/31/9999'
set @dt = ''
return @dt
END

解决方案 »

  1.   

    我测试过,只是在执行到
    exec sp_executesql @sql,
    N'@F int out,@ID int',@ID out,@lngID
    这一句时才出错,那么错误提示中的"只有函数和扩展存储过程才能从函数内部执行"是什么意思?
      

  2.   

    函数不能用动态SQL,改存储过程方式!!