Hwo to select data yearly from stored procedure in SQL Server 2008 -
i have stored procedure sp_extraction '01/01/2002', 'current date' stored procedure select data joined table , in clause there date range condition i.e. date > fromdate (01/01/2002) , date < todate (current date).
my requirement select data between given date year year rahter selct...from...where date < , >.... think need loop or cursor. sql instance using has limited tempdb space need optmize process best efficiency. hope can give me hints can use in stored procedure , give sample scripts if possible?
cheers
you should not use cursor or loop! instead - use proper set-based approach works best relational databases.
to limit given year - define beginning of current year you're interested in, , beginning of next year upper threshold, using 2 date
variables , select
2 date
variables used in where
clause - this:
create procedure selectyearly (@year int) begin -- define 2 variables beginning of current year, , beginning of next year declare @beginningyear date declare @beginningnextyear date -- set 2 variables - use iso-8601 format yyyymmdd safe language/regional settings set @beginningyear = cast(cast(@year char(4)) + '0101' date) set @beginningnextyear = cast(cast(@year+1 char(4)) + '0101' date) -- whatever need do, , use 2 variables limit selection -- use "yourdatecol >= @beginningyear , yourdatecol < @beginningnextyear" syntax -- select data given year you're interested in select (list of columns) (your table in question) yourdatecol >= @beginningyear , yourdatecol < @beginningnextyear end
Comments
Post a Comment