读书人

自定义函数不能有这样的写法解决方案

发布时间: 2012-06-14 16:00:31 作者: rapoo

自定义函数不能有这样的写法

SQL code
Create     FUNCTION dbo.GetLenghtDate(@CustID as Numeric(9,0))   RETURNS varchar(200)BEGIN     declare @LeftDate datetime         set @LeftDate=(SELECT DATEDIFF(n,SELECT EndTime FROM TableName WHERE pid =(SELECT Max(PID)AS PID FROM TableName WHERE CustID=@CustID),GetDate()))    return @LeftDateEND--服务器: 消息 156,级别 15,状态 1,过程 GetLenghtDate,行 6--在关键字 'SELECT' 附近有语法错误。--服务器: 消息 170,级别 15,状态 1,过程 GetLenghtDate,行 6--第 6 行: ',' 附近有语法错误。


自定义函数不能有这样的写法?求教谢谢!

[解决办法]
SQL code
SELECT @LeftDate=DATEDIFF(n,SELECT EndTime FROM TableName WHERE pid =(SELECT Max(PID)AS PID FROM TableName WHERE CustID=@CustID),GetDate())
[解决办法]
探讨
SQL code


SELECT @LeftDate=DATEDIFF(n,SELECT EndTime FROM TableName WHERE pid =(SELECT Max(PID)AS PID FROM TableName WHERE CustID=@CustID),GetDate())

[解决办法]
我以前也遇到过不能用时间函数的问题,数据库的函数里必须使用有明确值的系统函数,好像是这么说的,你试一试把getdate()做为传入参数吧,我以前是这样解决的

读书人网 >SQL Server

热点推荐