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

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -