PDA

View Full Version : جستجو بین دو تاریخ وارد شده



mjt10063
چهارشنبه 16 بهمن 1392, 14:47 عصر
سلام دوستان
میخوام بین دو تاریخی که کاربر وارد می کند رو جستجو کنم
نوع

t_darkhast = nvarchar(50)

و داده را به صورت ١٣٩٢/١١/١٥ وارد میکنم

باید از چه کدی استفاده کنم تا بین دو تاریخ به طور مثال ١٣٩٢/١/١ تا ١٣٩٢/١٢/١ را جستجو کند و نمایش دهد

با تشکر فراوان

mjt10063
چهارشنبه 16 بهمن 1392, 15:33 عصر
نوع ستون رو به date هم تغییر دادم و از این کد استفاده کردم ولی بازم تغییر ایجاد نشد و هیچ رکوردی رو نمایش نمیدهد

select @count = count(*) from formdarkhastkh where
vahede_sazman_v = @vahede_sazman_v and convert(date,[t_darkhast],103)>= @t_1 and convert(date,[t_darkhast],103)<= @t_2;

mjt10063
چهارشنبه 16 بهمن 1392, 16:39 عصر
وقتی به صورت دستی تاریخ رو وارد می کنم درست عمل میکنم و تو اون بازه زمانی رکورد ها رو نمایش میده ولی وقتی متغیر جایگزین میکنم درست عمل نمیکنه
دلیلش چیه

mjt10063
چهارشنبه 16 بهمن 1392, 16:56 عصر
انجمن خیلی بیحال شده اصلا کسی جواب نمیده دیگه ؟؟

mjt10063
چهارشنبه 16 بهمن 1392, 17:10 عصر
مشکل حل شد
اینم کدش برای استفاده ما بقی دوستان
ALTER PROCEDURE Select_Darkhast_Kh_Gozaresh

(
@vahede_sazman_v int,
@t_1 varchar(50),
@t_2 varchar(50),
@count_all int output,
@count int output
)

AS
BEGIN
select @count_all = count(*) from formdarkhastkh;
select @count = count(*) from formdarkhastkh where
vahede_sazman_v = @vahede_sazman_v and t_darkhast between @t_1 and @t_2;
END

fakhravari
چهارشنبه 16 بهمن 1392, 19:14 عصر
between تابع خوبی است

kablayi
پنج شنبه 17 بهمن 1392, 02:23 صبح
تاریخ ها رو موقع ورود چک کن که به صورت 0000/00/00 ذخیره بشه یعنی در هر حالت طول 10 رو داشته باشه و با استفاده از between میتونید دستور sql اون رو بنویسید