محاسبه سن از روی فیلد تاریخ تولد
سلام دوستان
من یک جدول دارم که اطلاعات شخصی افراد رو نگهداری میکنه.
حالا می خوام از فیلد birthdate که در این جدول وجود داره سن افراد رو محاسبه کنم و افرادی که سنشون بالاتر از مثلا 20 ساله نمایش بدم.
میشه لطف کنید و بگید چطور می تونم این کارو انجام بدم.
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
سلام.
در همین جا بگردید دنبال محاسبه اختلاف دو تاریخ.
اختلاف امروز رو با تولد ایشون بدست بیارید.
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
ببینید من مشکلی با محاسبه سن از روی تاریخ ندارم.خودم تابع این کار رو نوشتم.
فقط نمی دونم باید چطور دقیقا زمانیکه می خوام اطلاعات رو از دیتابیس بخونم و در گریدویو نمایش بدم از این تابع استفاده کنم.
فرض کنید اسم تابعی که این کار رو انجام میده agec هست که یک پارامتر ورودی داره و این پارامتر ورودی همون فیلد birthdate هست.حالا من می خوام دستور select رو بنویسم
select * from TB_Char where birthdate
بقیشو نمی دونم باید چطور بنویسم
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
select * from TBL where dbo.agec(birthday)> 20
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
ببخشید الان این dbo.agec که نوشتید چی هست؟ یک store procedure است؟
من تابع محاسبه سن رو با C# نوشتم
البته هنوز کامل نیست
public static int Age_caculate(string birthdate)
{
char[] sep = { '/' };
PersianCalendar ps = new PersianCalendar();
string date = ShamsiDate.GetFarsiDate(DateTime.Now, true);
string[] arrDate = date.Split(sep);
int month = Convert.ToInt32(arrDate[1]);
int day = Convert.ToInt32(arrDate[2]);
int year = Convert.ToInt32(arrDate[0]);
string[] birthDate = birthdate.Split(sep);
int birthmonth = Convert.ToInt32(birthDate[1]);
int birthday = Convert.ToInt32(birthDate[2]);
int birthyear = Convert.ToInt32(birthDate[0]);
int agy;
int agm;
int agd;
int age;
agy = year - birthyear;
agm = month - birthmonth;
agd = day - birthday;
if (((agm == 0) && (agd < 0)) || (agm < 0))
age = agy - 1;
else
age = agy;
return age;
}
این دستور select ای نوشتید رو من کجا باید بنویسم؟
میشه کامل توضیح بدید من در sql تازه کارم
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
شما باید تابع رو در SQL بنویسید.
در مورد نوشتن تابع هم در همین تالار جستجو کنید.
نقل قول: محاسبه سن از روی فیلد تاریخ تولد
دوست عزیز نمی دونم نیازت چجوریه !
اما سن رو به راحتی از طریق عبارت :
Year(GetDate()) - Year(Birthdate)
می تونی به دست بیاری !