ALTER PROCEDURE [dbo].[Courses_SelectCoursesInfoByCoursesFilter]
@startTime datetime,@endTime datetime=select convert(varchar(10),dateadd(year,1,getdate()),120),@coursesGrade varchar(3)
AS这样写要报错
@endTime datetime=convert(varchar(10),dateadd(year,1,getdate()),120),
这样写依然报错求解!
@startTime datetime,@endTime datetime=select convert(varchar(10),dateadd(year,1,getdate()),120),@coursesGrade varchar(3)
AS这样写要报错
@endTime datetime=convert(varchar(10),dateadd(year,1,getdate()),120),
这样写依然报错求解!
@startTime datetime null,@endTime datetime null@coursesGrade varchar(3)
AS
if @endTime is null
set @endTime =select convert(varchar(10),dateadd(year,1,getdate()),120)
alter proc [Courses_SelectCoursesInfoByCoursesFilter]
(
@endTime datetime=null--convert(varchar(10),dateadd(year,1,getdate()),120)
)
as
begin
select @endTime
end可以默认为null
@startTime datetime,
@endTime datetime,
@coursesGrade varchar(3),
@schoolRegionId int,
@cityRegionId int
ASBEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; -- Insert statements for procedure here
if @endTime is null
set @endTime =select convert(varchar(10),dateadd(year,1,getdate()),120)
SELECT dbo.Courses.coursesClassified, COUNT(dbo.Courses.coursesClassified) AS countPeriod, SUM(dbo.Courses.singleHour) AS sumPeriod,
dbo.CoursesInfo.startTime, dbo.CoursesInfo.endTime, dbo.CoursesInfo.consultant, dbo.CoursesInfo.hourCharge, dbo.CoursesInfo.cityRegionId,
dbo.SchoolRegion.schoolDescription, dbo.CoursesInfo.schoolRegionId, dbo.CoursesInfo.coureseGrade
FROM dbo.Courses INNER JOIN
dbo.CoursesInfo ON dbo.Courses.coursesClassified = dbo.CoursesInfo.coursesClassified INNER JOIN
dbo.SchoolRegion ON dbo.CoursesInfo.schoolRegionId = dbo.SchoolRegion.id
where CONVERT(varchar(10), Courses.singleTime, 120 ) between @startTime and @endTime
and dbo.CoursesInfo.coureseGrade like @coursesGrade
and dbo.CoursesInfo.schoolRegionId like @schoolRegionId
and dbo.CoursesInfo.cityRegionId=@cityRegionId
GROUP BY dbo.Courses.coursesClassified, dbo.CoursesInfo.startTime, dbo.CoursesInfo.endTime, dbo.CoursesInfo.consultant, dbo.CoursesInfo.hourCharge,
dbo.CoursesInfo.cityRegionId, dbo.SchoolRegion.schoolDescription, dbo.CoursesInfo.schoolRegionId, dbo.CoursesInfo.coureseGrade
END
1楼的大哥不对啊
关键字 'select' 附近有语法错误。
@startTime datetime = null ,
@endTime datetime = null
ASBEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; -- Insert statements for procedure here
if @endTime is null
set @endTime = convert(varchar(10),dateadd(year,1,getdate()),120)
endexec [Courses_SelectCoursesInfoByCoursesFilter] null,null
可以这样定义
ALTER PROCEDURE [dbo].[Courses_SelectCoursesInfoByCoursesFilter]
@startTime datetime,@endTime datetime=NULL,@coursesGrade varchar(3)
AS
SET @endTime=isnull(@endtime,convert(varchar(10),dateadd(year,1,getdate()),120));
... ...
GO
--或者
select @endTime=convert(varchar(10),dateadd(year,1,getdate()),120)