استفاده از دستور Between برای تاریخ فارسی
با سلام
من یک جدول دارم از نوع
DBISAM
که یک فیلد دارم که تاریخ های فارسی را در آن ذخیره می کنم چطوری میشه در یک
query
در دستورات اس کیو ال از فرمان
Between
برای این فیلد در شرط استفاده کرد
و اگر نمی شود راه حل اینکه من رکوردهای خاصی در فاصله بین دو تاریخ را بخواهم بدست آورم چیست
البته می دانم که این دیتابیس تا حدودی تاریخ فارسی را پشتیبانی می کند ولی مشکلات خاص خودش را دارد
خلاصه اینکه یک راهنمائی توپ می خواهم
نقل قول: استفاده از دستور Between برای تاریخ فارسی
توی اس کیو ال ، شاید یه جاهایی لازم باشه ، گزارشگیری زماندار انجام بدیم ، مثلا سفارشات یه هفته ی گذشته رو لیست کنیم ، یا شایدم یه ماه گذشته
برای اینکار از کد پایین استفاده میکنیم :
کد برای نمایش سفارشات یک هفته گذشته
select * from Sefaresh where date>DATEADD(day,-7,GETDATE()) ;
یک ماه گذشته
select * from Sefaresh where date>DATEADD(month,-1,GETDATE()) ;
نقل قول: استفاده از دستور Between برای تاریخ فارسی
اصولا ذخیره مستقیم تاریخ شمسی و انجام مستقیم محاسبات بر روی اون با توجه به عدم پشتیبانی بانکهای اطلاعاتی از تاریخ شمسی ، کار درستی نیست
یک راه ساده اینه که شما دو تا فیلد برای تاریخ داشته باشید یک فیلد برای تاریخ میلادی از نوع تاریخ و یک فیلد برای تاریخ شمسی از نوع رشته و یک تابع برای تبدیل تاریخ میلادی به شمسی
در زمان ثبت و ویرایش اطلاعات ، تاریخ رو به میلادی ذخیره کنید و معادل شمسی ش رو هم به صورت رشته در فیلد دوم ذخیره کنید
در زمان SELECT کردن هم محاسبات و شرط ها رو روی تاریخ میلادی انجام بدید اما فیلد تاریخ شمسی رو SELECT کنید و نمایش بدید
در این صورت محدودیتی در دستورات SQL نخواهید داشت