sqlserver2008中自定义函数的问题

原创
2016-06-07 15:33:58 708浏览

数据库中有一个字段,数据类型为date,现在我想定义一个函数,输入参数为date类型,返回的数据为与输入参数相同年份和月份的数据行数,在函数体中使用了count函数。 create function [dbo].[Time](@times date) returns int as begin return( select COUNT(*

数据库中有一个字段,数据类型为date,现在我想定义一个函数,输入参数为date类型,返回的数据为与输入参数相同年份和月份的数据行数,在函数体中使用了count函数。

create function [dbo].[Time](@times date)
returns int
as
begin
return(

select COUNT(*)
from Question
where datediff(yy,PublishedTime,@times)=0

and DATEDIFF(mm,PublishedTime,@times)=0)
end
使用语句为:

select dbo.Time('2012-12-20')

from Question

但是为题是查出来的结果数量为表Question中数据的行数。为什么会查询出那么多行的数据,而不是单一的一行数据?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。