PDA

View Full Version : جستجو بين دو تاريخ



farzane_t
سه شنبه 14 آبان 1392, 09:53 صبح
سلام
من برای جستجوی پیشرفته سایت ، طبق آموزشی که در همین سایت بود از این کد استفاده می کنم :


select PID as 'id',PTitle as 'title',PaperSummary as 'descp',PDate as 'date' ,PViewCount as 'view' from Papers
where (PTitle like ISNULL('%' +@Title+ '%' ,PTitle ) )and
(PAuthor like ISNULL(@Author,PAuthor ) )and
(PCatID like ISNULL(@Subject,PCatID ))

حالا اگه بخوام امکان جستجو در تاریخ ( از تاریخ ... تا ... ) رو هم بهش اضافه کنم باید چیکار کنم؟
با توجه به اینکه این فیلد هم ممکنه خالی بمونه و توسط کاربر پر نشه.

ممنون

farzane_t
سه شنبه 14 آبان 1392, 10:22 صبح
برای تاریخ این کد رو اضافه کردم :


(DlDate > ISNULL(@date,DlDate) and DlDate < ISNULL(@date2,DlDate)

اما این خطا رو میگیره :


Incorrect syntax near '-'.


تاریخ رو از نوع date تعریف کردم و مقدار درون دیتابیس مثلا به این صورته : 18-09-2013

حمیدرضاصادقیان
چهارشنبه 15 آبان 1392, 13:08 عصر
سلام.
شما میتونید با استفاده از Convert و تبدیل به یک فرمت استاندارد از این روش استفاده کنید.
برای اینکه فرمتهای مختلف رو ببینید پیشنهاد میکنم اینجا (http://msdn.microsoft.com/en-us/library/ms187928.aspx) رو مطالعه کنید.

محمد سلیم آبادی
دوشنبه 27 آبان 1392, 10:50 صبح
برای تاریخ این کد رو اضافه کردم :


(DlDate > ISNULL(@date,DlDate) and DlDate < ISNULL(@date2,DlDate)

اما این خطا رو میگیره :


Incorrect syntax near '-'.
تاریخ رو از نوع date تعریف کردم و مقدار درون دیتابیس مثلا به این صورته : 18-09-2013

خطای Syntax شما مربوط به بخش دیگری از کد شماست که در اینجا نیامده است. به عبارت دیگر اصلا کاراکتر - در کد ذکر شده وجود ندارد که بخواهد در کنار آن مشکل گرامری وجود داشته باشد.
شما در فرم جستجو باید این قابلیت ها را داشته باشید تا جستجو معنا و مفهوم داشته باشد:


جستجو از تاریخ X تا تاریخ Y
جستجو از تاریخ X تا تاریخ جاری
جستجو در تمام تاریخ ها (ار ابتدا تا انتها)
جستجو از تاریخ X به قبل (یا جستجو از ابتدا تا تاریخ X)