|
|
|
Grasshopper
      
Group: General Forum Members
Last Login: Tuesday, January 31, 2012 2:43 AM
Points: 14,
Visits: 80
|
|
when i compiling the following code, getting this error
Msg 102, Level 15, State 1, Procedure fnGetNoOfBusinessDays, Line 6 Incorrect syntax near ';'.
CREATE FUNCTION dbo.fnGetNoOfBusinessDays (@STARTDATE datetime,@EntDt datetime) RETURNS TABLE AS RETURN ;with DateList as ( select cast(@STARTDATE as datetime) DateValue union all select DateValue + 1 from DateList where DateValue + 1 < convert(VARCHAR(15),@EntDt,101) )select * from DateList where DATENAME(WEEKDAY, DateValue ) not IN ( 'Saturday','Sunday' ) GO
Known Is A Drop,UnKnown Is An Ocean.... Njoy Programming :)
|
|
|
|
|
Ten Centuries
      
Group: General Forum Members
Last Login: Yesterday @ 12:11 PM
Points: 1,130,
Visits: 1,182
|
|
just remove the ;
CREATE FUNCTION dbo.testFunction (@STARTDATE datetime,@EntDt datetime) RETURNS TABLE AS RETURN
with DateList as ( select cast(@STARTDATE as datetime) DateValue union all select DateValue + 1 from DateList where DateValue + 1 < convert(VARCHAR(15),@EntDt,101) )select * from DateList where DATENAME(WEEKDAY, DateValue ) not IN ( 'Saturday','Sunday' ) GO
Let me know if this works
|
|
|
|
|
Grasshopper
      
Group: General Forum Members
Last Login: Tuesday, January 31, 2012 2:43 AM
Points: 14,
Visits: 80
|
|
hi Matt,
thanks for your kind reply,
when i created that function, and executed it like this,
CREATE FUNCTION dbo.testFunction (@STARTDATE datetime,@EntDt datetime) RETURNS TABLE AS RETURN with DateList as ( select cast(@STARTDATE as datetime) DateValue union all select DateValue + 1 from DateList where DateValue + 1 < convert(VARCHAR(15),@EntDt,101) )select * from DateList where DATENAME(WEEKDAY, DateValue ) not IN ( 'Saturday','Sunday' ) GO
select dbo.testFunction(getdate(),getdate()+30);
Msg 4121, Level 16, State 1, Line 1 Cannot find either column "dbo" or the user-defined function or aggregate "dbo.testFunction", or the name is ambiguous.
guidance needed,
thanks in advance.
Known Is A Drop,UnKnown Is An Ocean.... Njoy Programming :)
|
|
|
|
|
SSChampion
        
Group: General Forum Members
Last Login: Yesterday @ 8:39 PM
Points: 11,638,
Visits: 27,713
|
|
your function is fine, it's the function call... since it is returning a table, you need SELECT * FROM, not SELECT:
select * from dbo.testFunction(getdate(),getdate()+30);
--results: 2009-07-27 00:15:08.460 2009-07-28 00:15:08.460 2009-07-29 00:15:08.460 2009-07-30 00:15:08.460 2009-07-31 00:15:08.460 etc....
Lowell
--There is no spoon, and there's no default ORDER BY in sql server either. Actually, Common Sense is so rare, it should be considered a Superpower. --my son
|
|
|
|
|
Grasshopper
      
Group: General Forum Members
Last Login: Tuesday, January 31, 2012 2:43 AM
Points: 14,
Visits: 80
|
|
Hey Lowell & Matt u both rocks,
thanks for your guidance
Known Is A Drop,UnKnown Is An Ocean.... Njoy Programming :)
|
|
|
|