Hi,
ich habe dafür eine SP in der Firebird
DB:
Code:
create or alter procedure get_age (
geb_datum date$,
datum date$ = null)
returns (
result smallint$)
as
begin
result = null;
if (:geb_datum is not null) then
begin
if (:datum is null) then
datum = current_date;
result = extract(year from :datum) - extract(year from :geb_datum);
-- wenn Tag erst noch kommt, dann minus 1
if (extract(month from :geb_datum) >= extract(month from :datum)) then
begin
if (extract(month from :geb_datum) > extract(month from :datum)) then
result = :result - 1;
else
if (extract(day from :geb_datum) > extract(day from :datum)) then
result = :result - 1;
end
end
suspend;
end
Wobei date$ und smallint$ Domains sind.
Dann kannst du mit:
select result from get_age(geb_datum) das Alter ermitteln.
Frank