View Full Version : سوال: تشخیص تاریخ بزرگتر
jimi67
شنبه 17 مرداد 1388, 09:46 صبح
سلام بر همگی
چطور می تونم تشخیص بدم یک تاریخ بزرگتر از یک تاریخ دیگه است؟
مثلا تشخیص بدم '1388/5/10' بزرگتر از '1388/5/7'.
با تشکر از لطفتون.
ASKaffash
شنبه 17 مرداد 1388, 10:15 صبح
سلام
مثل مقایسه عددی با این رشته ها برخورد کنید:
Select * From T Where Str1>Str2
Barbababak
شنبه 17 مرداد 1388, 10:20 صبح
فکر می کنم جوابت نه اما روش جوابت توی این تاپیک باشه
http://barnamenevis.org/forum/showthread.php?t=172202
یک فانکشن اد کنی که تاریخ رو از "رشته تاریخ جلالی" به "تاریخ" (میلادی) تبدیل کنه !
یا این که کار ساده تری انجام بدی : 365 برابر سال رو و 12 برابر ماه رو به روز اضافه کنه و جواب رو به صورت عدد برگردونه.
Barbababak
شنبه 17 مرداد 1388, 10:22 صبح
فکر می کنم جوابت نه اما روش جوابت توی این تاپیک باشه :
http://barnamenevis.org/forum/showthread.php?t=172202
باید یک فانکشن بسازی که تاریخ رو از "رشته تاریخ جلالی" به "تاریخ" (میلادی) تبدیل کنه !
یا این که کار ساده تری انجام بدی : توی یک فانکشن 365 برابر سال رو و 12 برابر ماه رو به روز اضافه کنی و جواب رو به صورت عدد برگردونی و توی SELECT از همین فانکشن که ساختی استفاده کنی.
Barbababak
شنبه 17 مرداد 1388, 10:27 صبح
سلام
مثل مقایسه عددی با این رشته ها برخورد کنید:
Select * From T Where Str1>Str2
فکر می کنم اگر تاریخ به صورت '1388/05/10' وارد می شد این کار امکان پذیر بود. اما در این حالت، مثلا اگر تاریخ '1388/5/10' با تاریخ '1388/12/10' مقایسه بشه ماههای زمستان چون ماهشون با عدد یک شروع می شه کمتر از هشت یا نه ماه قبلشون به شمار میان.
ASKaffash
شنبه 17 مرداد 1388, 10:43 صبح
فکر می کنم اگر تاریخ به صورت '1388/05/10' وارد می شد این کار امکان پذیر بود. اما در این حالت، مثلا اگر تاریخ '1388/5/10' با تاریخ '1388/12/10' مقایسه بشه ماههای زمستان چون ماهشون با عدد یک شروع می شه کمتر از هشت یا نه ماه قبلشون به شمار میان.
سلام
اگر تاریخ ساختارمند نیست ابتدا یک تابع نوشته میشود که ساختارها تبدیل به YYYY/MM/DD میشود سپس مقایسه دو رشته با اعمال تابع روی آنها اتفاق می افتد
Select * From T Where dbo.f(str1)<dbo.f(str2)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.