自定义函数:
create function getYearDiff(@sdate varchar(20),@edate varchar(20))
returns int
begin
declare @r int
set @r=
datediff(yy,convert(datetime,replace(replace(replace(@sdate,'年','-'),'月','-'),'日','')),
convert(datetime,replace(replace(replace(@edate,'年','-'),'月','-'),'日','')))
return @r
end执行语句:select dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild
得到值是:整数
在页面上语句:String sSql= "select id,dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild";
可是得到的值是:select id,dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild
我想要的结果是数据里的那个执行结果。。整数。。怎么写啊。
create function getYearDiff(@sdate varchar(20),@edate varchar(20))
returns int
begin
declare @r int
set @r=
datediff(yy,convert(datetime,replace(replace(replace(@sdate,'年','-'),'月','-'),'日','')),
convert(datetime,replace(replace(replace(@edate,'年','-'),'月','-'),'日','')))
return @r
end执行语句:select dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild
得到值是:整数
在页面上语句:String sSql= "select id,dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild";
可是得到的值是:select id,dbo.getYearDiff('2009年01月1日','2011年01月4日') from S_prjLicenseChild
我想要的结果是数据里的那个执行结果。。整数。。怎么写啊。
这样写是对的吧。。可是得到的还是'2009年01月1日','2011年01月4日'。还不是整数哎!怎么搞啊!
replace(replace(replace(col,'年',''),'月',''),'日','')
returns int
begin
declare @r int
select @r=
datediff(yy,convert(datetime,replace(replace(replace(@sdate,'年','-'),'月','-'),'日','')),
convert(datetime,replace(replace(replace(@edate,'年','-'),'月','-'),'日','')))
return @r
end
out.println(sql);
这样写是对的吧。。可是得到的还是'2009年01月1日','2011年01月4日'。还不是整数哎!怎么搞啊!
我想得到的是这个函数的计算结果!