日期:2014-05-19  浏览次数:20546 次

关于自定义函数编写运用的问题
想请教一下关于自定义函数编写的问题,因为第一次用,希望大家多帮助,谢谢
需求概述:有一张表allag,里面有个日期字段zhuanzheng,但是这个字段是字符型的,形式是这样:20040623,varchar(8)。现在要通过这个日期来计算月份,就是随便输入一个zhuanzheng字段里的字符,可以计算出到现在(也就是getdate())为止一共有几个月。里面有两个问题,一个是日期型的getdate()和字符型的archar(8)怎么计算,再就是这个自定义函数该怎么写比较好,谢谢。

------解决方案--------------------
create function fn(@d varchar(8))
returns int
as
begin
declare @m int
set @m = datediff(mm,cast(@d as datetime),getdate())
return @m
end
go

select dbo.fn( '20070501 ')

drop function fn