وليد علاء الدين بتاريخ: 28 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 28 أغسطس 2008 للي عاوزFunction لحساب العمرانا عملتها معقدة شوية بس شغالة create or replace function how_old (p_date varchar) return varchar is birth_day timestamp(2) := to_date(p_date,'DD-MON-YYYY '); today timestamp(2) := sysdate; age varchar2(100); begin age :='You are ' || to_char (trunc( (extract( day from (today-birth_day))/30.4375)/12) ) || ' years and ' || to_char( trunc( (mod( (extract( day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375)) || ' months and ' || to_char( trunc(mod (( mod( ( extract(day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375,1)*30.4375)) || ' days and ' || to_char( to_char( round( mod( mod( (mod( (extract( day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375,1)*30.4375,1)*24,5))+ (extract( hour from (today-birth_day))) || ' hours and ' || to_char (extract( minute from (today-birth_day)))) || ' minutes.'; return age; end; Select HOW_OLD('12-jan-1982') from dualHave fun اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
وليد علاء الدين بتاريخ: 28 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 أغسطس 2008 create or replace function how_old (p_date varchar) return varchar is birth_day timestamp(2) := to_date(p_date,'DD-MON-YYYY '); today timestamp(2) := sysdate; age varchar2(100); begin age :='You are ' || to_char (trunc( (extract( day from (today-birth_day))/30.4375)/12) ) || ' years and ' || to_char( trunc( (mod( (extract( day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375)) || ' months and ' || to_char( trunc(mod (( mod( ( extract(day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375,1)*30.4375)) || ' days and ' || to_char( to_char( round( mod( mod( (mod( (extract( day from (today-birth_day))/30.4375)/12,1)* 365.25)/30.4375,1)*30.4375,1)*24,5))+ (extract( hour from (today-birth_day))) || ' hours and ' || to_char (extract( minute from (today-birth_day)))) || ' minutes.'; return age; end; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
وليد علاء الدين بتاريخ: 28 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 أغسطس 2008 create or replace function how_old (p_date varchar)return varchar is birth_day timestamp(2) := to_date(p_date,'DD-MON-YYYY ');today timestamp(2) := sysdate;age varchar2(100);begin age :='You are ' || to_char(trunc((extract(day from (sysdate-birth_day))/30.4375)/12)) || ' years and ' || to_char(trunc((mod((extract(day from (sysdate-birth_day))/30.4375)/12,1)*365.25)/30.4375))|| ' months and ' || to_char(trunc(mod((mod((extract(day from (sysdate-birth_day))/30.4375)/12,1)*365.25)/30.4375,1)*30.4375))|| ' days and ' || to_char(to_char(round(mod(mod((mod((extract(day from (sysdate-birth_day))/30.4375)/12,1)*365.25)/30.4375,1)*30.4375,1)*24,5))+ (extract(hour from (sysdate-birth_day))) || ' hours and ' ||to_char(extract(minute from (sysdate-birth_day)))) || ' minutes.';return age;end; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.