PDA

View Full Version : SELECT SQL با تاریخ فارسی



omidmehraban
چهارشنبه 21 شهریور 1386, 02:55 صبح
با سلام و احترام دوستان گرامی:
اگر بخواهیم در یک SelectQuery فیلدی که اطلاعات آن تاریخ شمسی است با دستور WHERE بنویسیم چه کار می کنید؟

choobin84
چهارشنبه 21 شهریور 1386, 07:07 صبح
select * from table where tarikh='1386/05/12'

omidmehraban
چهارشنبه 21 شهریور 1386, 17:21 عصر
select * from table where tarikh='1386/05/12'
منظور من تاریخ فارسی هستش،به عنوان مثال ماه اردیبهشت 31 روز هست اما ماه دوم میلادی یعنی فوریه 28 روزه،یعنی اگه ما بخواهیم تاریخ 31/2/1386 را در پایگاه داده قرار بدهیم(همAccessوSQL Server ) با خطا مواجه می شویم،چون پایگاه داده فیلدی از نوع تاریخ میلادی داره نه شمسی.حالا اگر فیلدی از نوع تاریخ شمسی داریم لطفا راهنمایی کنید.
راهی که به ذهن من رسید ایجاد فیلد رشته ای برای تاریخ بود.مشکلی نداره.در SELECT SQL به شکل بالا هم موردی نداره اما اگر بخواهیم بازه زمانی تعریف کنیم،دیگه نمیشه.مثل زیر:


SELECT * FROM Table WHERE MyDate BetWeen #1386/02/01# TO #1386/02/31#
چون فیلد ما از نوع رشته ای نه عددی یا تاریخ.
از دوستان محترم خواهشمندم که تجربیاتشان را در اختیار ما قرار بدهند.
با تشکر

hamed-p
چهارشنبه 21 شهریور 1386, 19:43 عصر
SELECT * FROM Table WHERE (MyDate Between '1386/02/01' AND '1386/02/31')
اگه myDate را از نوع (nchar(10 انتخاب کنی مشکلی پیش نمیاد.

hamed_bostan
چهارشنبه 21 شهریور 1386, 22:58 عصر
http://barnamenevis.org/forum/showpost.php?p=386028&postcount=11 (http://barnamenevis.org/forum/showthread.php?t=72611)

omidmehraban
پنج شنبه 22 شهریور 1386, 03:08 صبح
از تمامی دوستانی که در این تاپیک به من کمک کردن بسیار متشکرم.:لبخندساده:
مشکل حل شد.