日期:2014-05-17  浏览次数:20446 次

sql2005调用函数报错

我自己写的个表值函数,在查询分析器里调用时,这种写法报错:
SELECT * from dbo.G_P_by_D(CONVERT(varchar(10),dateadd(yy,datediff(yy,0,getdate()),0),120), CONVERT(varchar(10), GETDATE(), 120))
消息 156,级别 15,状态 1,第 1 行
关键字 'CONVERT' 附近有语法错误。

但是这样写就不报错:
SELECT * from dbo.G_P_by_D('2013-05-10','2013-06-06')
请高手指点下,谢谢

------解决方案--------------------
declare @date1 varchar(10)=CONVERT(varchar(10),dateadd(yy,datediff(yy,0,getdate()),0),120)
declare @date2 varchar(10)=CONVERT(varchar(10), GETDATE(), 120)
SELECT * from dbo.G_P_by_D(@date1,@date2)

函数参数传递不要用表达式