PDA

View Full Version : جستجو بین دو تاریخ از نوع nvarchar



20temp
جمعه 29 دی 1391, 11:08 صبح
سلام دوستان

اگه امکان داره یک الگوریتم خوب برای جستجو بین دو تاریخ از نوع nvarchar ارائه کنید.

بنا به دلایلی مجبور شدن تاریخ در sql از نوع nvarchar تعریف کنم.

1391/10/29
1391/9/25

تاریخ ها به صورت فوق وارد برنامه میشوند

mohammad kafiyan
جمعه 29 دی 1391, 11:24 صبح
سلام دوست عزیز بهترین کار این به نظر من این است که فرمت تاریخ را به این صورت در database ذخیره کنی ##/##/#### سپس برای مقایسه با دستور splitsکه تابع جداسازی مربوط به رشته ها است را استفاده کنی و بیای اون تاریخ را از database بخونی و با همین دستور با استفاده از کاراکتر / روز و ما و سال را از هم جدا کنی و روز ها و ماه و سال ها را جداگانه مقایسه کنی

veniz2008
جمعه 29 دی 1391, 11:29 صبح
سلام دوستان

اگه امکان داره یک الگوریتم خوب برای جستجو بین دو تاریخ از نوع nvarchar ارائه کنید.

بنا به دلایلی مجبور شدن تاریخ در sql از نوع nvarchar تعریف کنم.

1391/10/29
1391/9/25

تاریخ ها به صورت فوق وارد برنامه میشوند
سلام، این مدلی که شما ذخیره می کنید، در موقع جستجو به مشکل برمیخورید. طول فیلد nvarchar رو 10 در نظر بگیرید و همه تاریخ ها رو حتما با طول 10 ذخیره کنید ( مثلا 1391/01/09 یا 1391/09/25 ). اینطوری خیلی راحت میتونید با یک select معمولی تاریخ ها رو با هم مقایسه کنید:

select * from tblname where date1 > '1391/09/25 and date2 < '1392/01/09
موفق باشید.