Web design and hosting, database, cloud and social media solutions that deliver business results
  • حلول الأعمال
    • خدمات قاعدة البيانات
      • أدوات
    • تصميم الموقع
      • جزيرة وايت
    • الخدمات السحابية
    • وسائل الاعلام الاجتماعية
  • الأكاديمية
    • تعلم قاعدة البيانات
      • استخدام SQL Server Pivot-Unpivot
      • استخدام وظائف خادم SQL
      • باستخدام SQL Server التواريخ
      • باستخدام بيانات SQL
      • صيانة خادم SQL
    • تعلم تصميم المواقع
  • معلومات عنا
    • الفريق
      • تشيستر كوبربوت
      • جافين كلايتون
      • سونيل كومار
      • علي الأمين
    • محفظة
    • مقالات
    • وظائف
عربى (AR)čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

الحصول على العمر

استخدم دالة لحساب عمر شخص ما في أي وقت.

لسبب ما يبدو أننا في نهاية المطاف على كمية ضخمة من المشاريع حيث تتم مقارنة التواريخ. خلال هذا الوقت قمنا بتطوير عدد من الوظائف لتسريع وضمان سلامة هذه البيانات.

السبب الذي جعلنا ننشئ هذا هو أن العمل في عصر ولد فيه شخص ما في سنة كبيسة قد ينتهي بتنوع يوم واحد. في سنة كبيسة ، 29/02 هو نفس اليوم من العام مثل 01/03.

نحن نستخدم تاريخين ، حيث أنه يمكّنك من تأجيل الوقت الذي طلبت فيه العمر ، (مثل تاريخ الوفاة) ، والإعداد الافتراضي فقط في التاريخ الحالي إذا ترك فارغًا.

نظرًا لأننا لا نؤمن بإعادة اختراع العجلة ، فقد تركنا الكود الخاص بنا هنا لأي شخص قد يجدها مفيدة. هذا يتطلب وظيفة ثانوية مرتبطة أدناه.

أكثر من: الحصول على سنة كبيسة
CREATE FUNCTION Dates.GetAge(@Date DATETIME2,@Until DATETIME2) RETURNS INT AS BEGINIF @Until IS NULL SET @Until=CONVERT(DATE,GETDATE())DECLARE @Age INT=DATEDIFF(YEAR,@Date,@Until)+(CASE WHEN DATEPART(DAYOFYEAR,@Date)>(DATEPART(DAYOFYEAR,@Until)+(CASE WHEN dbo.GetLeapYear(@Until)=1 AND DATEPART(DAYOFYEAR,@Until)>59 THEN -1 ELSE 0 END))THEN -1 ELSE 0 END)RETURN @AgeENDGO
SELECT Dates.GetAge('2011-02-28','2013-02-27'),Dates.GetAge('2011-02-28','2013-02-28'),Dates.GetAge('2011-02-28','2013-03-01'),Dates.GetAge('2011-02-28','2013-03-02')SELECT Dates.GetAge('2011-02-28','2012-02-27'),Dates.GetAge('2011-02-28','2012-02-28'),Dates.GetAge('2011-02-28','2012-02-29'),Dates.GetAge('2011-02-28','2012-03-01')SELECT Dates.GetAge('2012-02-28','2013-02-27'),Dates.GetAge('2012-02-28','2013-02-28'),Dates.GetAge('2012-02-28','2013-03-01'),Dates.GetAge('2012-02-28','2013-03-02')SELECT Dates.GetAge('2012-02-29','2013-02-27'),Dates.GetAge('2012-02-29','2013-02-28'),Dates.GetAge('2012-02-29','2013-03-01'),Dates.GetAge('2012-02-29','2013-03-02')

لم يكشف الاختبار حتى الآن عن أي حالات شاذة ، ولكن يرجى إخبارنا إذا وجدت.

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink سياسة ملفات الارتباطخريطة الموقع

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader