慕勒3428872
因为自定义函数是经过建立的时候是编译的,所以像getdate()这些不确定因素的值,是随时改变的,所以不允许推荐:将类似getdate()之类的可变的因素使用参数带入进函数执行的时候,再使用getdate(),如:select dbo.MyFunction(getdate()) from 表举个例子:建立自定义函数,如果今天是5号,字段1就等于字段2,否则还等于字段1以下的写法是错误的:create function MyFunction(@字段1 int ,@字段2 int)returns intasif day(getdate())=5return @字段2else return @字段1这样写才是正确的:create function MyFunction(@字段1 int ,@字段2 int,@date datetime)returns intasif day(@date)=5return @字段2else return @字段1调用时:select 字段1,字段2,dbo.MyFunction(字段1,字段2,getdate()) from表