| Узнать полный возраст человека на конкретную дату [сообщение #2061] | 
			Fri, 14 April 2023 20:19   | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Доброго дня. Долго искал ответ, решения в основном для мускуля и мсскл есть, для Firebird 3 не нашел. Использовал datediff, ноон не учитывает был ли уже ДР у человека в этом году или нет, вообщем, не всегда правильно считает. Подскажите рабочий вариант расчета полного возраста в годах или как говорят врачи - полных лет. 
Заранее спасибо
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	
		
		
			| Re: Узнать полный возраст человека на конкретную дату [сообщение #2064 является ответом на сообщение #2061] | 
			Fri, 14 April 2023 23:02    | 
		 
		
			
				
				
				
					
						  
						shalamyansky
						 Сообщений: 150 Зарегистрирован: August 2022 
						
					 | 
					Senior Member  | 
					 | 
		 
		 
	 | 
 
	
		
-- birthday is input parameter
birthyear    = extract( YEAR from birthday );
current_year = extract( YEAR from current_date );
age          = current_year - birthyear;
age          = iif( extract( YEARDAY from current_date ) >= extract( YEARDAY from birthday ), age, age - 1 );
  
Это чисто умозрительно, не проверял. Не видно, что там может пойти не так.
		
		
		[Обновления: Fri, 14 April 2023 23:07] Известить модератора  
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 |