PDA

View Full Version : استفاده از دستور Between برای تاریخ فارسی



ALIreza_nil
چهارشنبه 12 اسفند 1383, 23:31 عصر
با سلام


من یک جدول دارم از نوع
DBISAM
که یک فیلد دارم که تاریخ های فارسی را در آن ذخیره می کنم چطوری میشه در یک
query
در دستورات اس کیو ال از فرمان
Between
برای این فیلد در شرط استفاده کرد
و اگر نمی شود راه حل اینکه من رکوردهای خاصی در فاصله بین دو تاریخ را بخواهم بدست آورم چیست
البته می دانم که این دیتابیس تا حدودی تاریخ فارسی را پشتیبانی می کند ولی مشکلات خاص خودش را دارد
خلاصه اینکه یک راهنمائی توپ می خواهم

alidll
یک شنبه 16 اسفند 1383, 09:16 صبح
با سلام به دوستان


SELECT DATE FROM TABLE
WHERE DATE BETWEEN '1379/01/01' AND '1380/02/10';

esi022
یک شنبه 16 اسفند 1383, 09:27 صبح
سلام علیرضا
date رو به چه صورت ذخیره می کنی؟
آیا dbisam تاریخهایی مثل 30/2/1384 رو ذخیره میکنه؟( 30 فوریه 2005 وجود نداره )

sab2020
پنج شنبه 03 دی 1394, 19:33 عصر
توی اس کیو ال ، شاید یه جاهایی لازم باشه ، گزارشگیری زماندار انجام بدیم ، مثلا سفارشات یه هفته ی گذشته رو لیست کنیم ، یا شایدم یه ماه گذشته
برای اینکار از کد پایین استفاده میکنیم :
کد برای نمایش سفارشات یک هفته گذشته
select * from Sefaresh where date>DATEADD(day,-7,GETDATE()) ;

یک ماه گذشته
select * from Sefaresh where date>DATEADD(month,-1,GETDATE()) ;

Mahmood_M
سه شنبه 08 دی 1394, 19:43 عصر
اصولا ذخیره مستقیم تاریخ شمسی و انجام مستقیم محاسبات بر روی اون با توجه به عدم پشتیبانی بانکهای اطلاعاتی از تاریخ شمسی ، کار درستی نیست
یک راه ساده اینه که شما دو تا فیلد برای تاریخ داشته باشید یک فیلد برای تاریخ میلادی از نوع تاریخ و یک فیلد برای تاریخ شمسی از نوع رشته و یک تابع برای تبدیل تاریخ میلادی به شمسی
در زمان ثبت و ویرایش اطلاعات ، تاریخ رو به میلادی ذخیره کنید و معادل شمسی ش رو هم به صورت رشته در فیلد دوم ذخیره کنید
در زمان SELECT کردن هم محاسبات و شرط ها رو روی تاریخ میلادی انجام بدید اما فیلد تاریخ شمسی رو SELECT کنید و نمایش بدید
در این صورت محدودیتی در دستورات SQL نخواهید داشت