Vinodh Muthusamy Ответов: 4

Чтобы вычислить возраст в SQL


Нужно рассчитать DOB месяц и возраст от заданной даты рождения.

ДАТА РОЖДЕНИЯ:
1988-10-20
(ГГГГ-ММ-ДД)

Мне нужен вывод как

10 and age of(1988-10-20) 


Я пробовал использовать его, но не смог получить должного результата.

SELECT (DATEDIFF(MONTH,'1988-10-20',getdate()))-(DATEDIFF(YEAR,'1988-10-20',GETDATE())*12)  AS Smonth


Но я получаю вывод как -1,

Мне нужно получить выход как 10.

Что я уже пробовал:

SELECT (DATEDIFF(MONTH,'1988-10-20',getdate()))-(DATEDIFF(YEAR,'1988-10-20',GETDATE())*12)  AS Smonth

4 Ответов

Рейтинг:
2

CHill60

См. решение 2 в этом посте Как рассчитать возраст от даты рождения в sql[^]


Рейтинг:
1

kanangandhi

select convert(nvarchar(max),Month('1988-10-20'))+' and ' + convert(nvarchar(max), DATEDIFF(year, '1988-10-20',getdate()))+' age of '+'1988-10-20' as Age 


Выход
----------------
10 и 30 лет 1988-10-20


Рейтинг:
0

Santosh kumar Pithani

DECLARE @DOB Date='07/03/1993';

SELECT CAST(ROUND((DATEDIFF(DAY,@DOB,GETDATE())/365.0),0) AS INT) AS AGE

OUTPUT:-
----
AGE
----
25


Рейтинг:
0

kirthiga S

Для расчета месяца с заданной даты

Declare @DOB datetime='1988-10-20'
select Month(@DOB) [Month]