Want to become a Vibe Coder? Join Vibe Coding Training here
x
C# Corner
Tech
News
Videos
Forums
Jobs
Books
Events
More
Interviews
Live
Learn
Training
Career
Members
Blogs
Challenges
Certification
Contribute
Article
Blog
Video
Ebook
Interview Question
Collapse
Feed
Dashboard
Wallet
Learn
Achievements
Network
Refer
Rewards
SharpGPT
Premium
Contribute
Article
Blog
Video
Ebook
Interview Question
Register
Login
Calculate Years,Months and days from DOB
WhatsApp
Akshay Phadke
Jul 08
2016
1.1
k
0
0
DECLARE
@DOB
DATE
=
'1988-08-01'
, @CurrentDate DATETIME = GETDATE(), @Years
INT
, @Months
INT
, @Days
INT
, @tmpFromDate
DATE
IF(@DOB>@CurrentDate )
BEGIN
PRINT
'DATE OF BIRTH SHOULD NOT BE GREATER THAN CURRENT DATE'
;
END
ELSE
BEGIN
SET
@Years = DATEDIFF(
YEAR
, @DOB, @CurrentDate) - (
CASE
WHEN
DATEADD(
YEAR
, DATEDIFF(
YEAR
, @DOB, @CurrentDate), @DOB) > @CurrentDate
THEN
1
ELSE
0
END
)
SET
@tmpFromDate = DATEADD(
YEAR
, @Years , @DOB)
SET
@Months = DATEDIFF(
MONTH
, @tmpFromDate, @CurrentDate) - (
CASE
WHEN
DATEADD(
MONTH
,DATEDIFF(
MONTH
, @tmpFromDate, @CurrentDate),
@tmpFromDate) > @CurrentDate
THEN
1
ELSE
0
END
)
SET
@tmpFromDate = DATEADD(
MONTH
, @Months , @tmpFromDate)
SET
@Days = DATEDIFF(
DAY
, @tmpFromDate, @CurrentDate) - (
CASE
WHEN
DATEADD(
DAY
, DATEDIFF(
DAY
, @tmpFromDate, @CurrentDate),
@tmpFromDate) > @CurrentDate
THEN
1
ELSE
0
END
)
SELECT
@Years
AS
[
Year
(s)], @Months
AS
[
Month
(s)], @Days [
Day
(s)]
END
Calculate Years
Months and days from DOB
Up Next
Calculate Years,Months and days from DOB