Click here to Skip to main content
15,896,269 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hai friends,
Here i have one stored procedure like this..i wanna to display age by converting the u.DOB field..

SP:
SQL
(Select Distinct A.AppointmentId,U.UserId,U.FirstName,U.UserEmail,CONVERT(varchar,U.DOB,101) as DOB,C.CompanyName,A.TimeStart,A.Reason,A.Status,A.PatientFirstName as FName,A.PatientLastName as LName,A.PatientGender,CONVERT(varchar,A.PatientDOB,101) as PatientDOB
 from Appointment A,Users U,Company C
 where A.UserId=U.UserId and A.CompanyId=@CompanyId and A.ProviderId=@ProviderId and A.Date=@Date and C.Id=A.CompanyId )
 Union
 (Select Distinct A.AppointmentId,E.EmployeeId,E.Name,E.Email,CONVERT(varchar,E.DOB,101) as DOB,C.CompanyName,A.TimeStart,A.Reason,A.Status,A.PatientFirstName as FName,A.PatientLastName as LName,A.PatientGender,CONVERT(varchar,A.PatientDOB,101) as PatientDOB
 from Appointment A,Employee E,Company C
 where A.UserId=E.EmployeeId and A.CompanyId=@CompanyId and A.ProviderId=@ProviderId and A.Date=@Date and C.Id=A.CompanyId)


Thanks and regards
K.Ramakrishna
Posted

Try this:
SQL
(SELECT DISTINCT A.AppointmentId
			   , U.UserId
			   , U.FirstName
			   , U.UserEmail
			   , (DATEDIFF(DAY, U.DOB, GetDate()) / 365.25) AS DOB
			   , C.CompanyName
			   , A.TimeStart
			   , A.Reason
			   , A.Status
			   , A.PatientFirstName AS FName
			   , A.PatientLastName AS LName
			   , A.PatientGender
			   , (DATEDIFF(DAY, A.PatientDOB, GetDate()) / 365.25) AS PatientDOB
 FROM
	 Appointment A, Users U, Company C
 WHERE
	 A.UserId = U.UserId
	 AND A.CompanyId = @CompanyId
	 AND A.ProviderId = @ProviderId
	 AND A.Date = @Date
	 AND C.Id = A.CompanyId)
UNION
(SELECT DISTINCT A.AppointmentId
			   , E.EmployeeId
			   , E.Name
			   , E.Email
			   , (datediff(DAY, E.DOB, GetDate()) / 365.25) AS DOB
			   , C.CompanyName
			   , A.TimeStart
			   , A.Reason
			   , A.Status
			   , A.PatientFirstName AS FName
			   , A.PatientLastName AS LName
			   , A.PatientGender
			   , (DATEDIFF(DAY, A.PatientDOB, GetDate()) / 365.25) AS PatientDOB
 FROM
	 Appointment A, Employee E, Company C
 WHERE
	 A.UserId = E.EmployeeId
	 AND A.CompanyId = @CompanyId
	 AND A.ProviderId = @ProviderId
	 AND A.Date = @Date
	 AND C.Id = A.CompanyId)


Refer:
sql age function[^]
calculate age on date of birth[^]
Date Calculations: calculate ages[^]
 
Share this answer
 
v2
Comments
sandeep nagabhairava 17-Jul-12 5:22am    
my 5!
Prasad_Kulkarni 17-Jul-12 5:25am    
Thank you Sandeep!
.net333 17-Jul-12 6:18am    
It's working..Thank you so much Prasad
Prasad_Kulkarni 17-Jul-12 6:36am    
Glad to hear that.
You're welcome!
hi
SQL
SELECT FLOOR(DATEDIFF(DAY, @BirthDate, @TargetDate) / 365.25)

or check out this link

http://www.katieandemil.com/sql-age-function-calculate-accurate-age-using-sql-server[^]
 
Share this answer
 
v2
Comments
StianSandberg 17-Jul-12 4:57am    
good one!
MAU787 17-Jul-12 5:01am    
thanx..

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900