SQL - necesito una funcion pl/sql que calcule la edad

 
Vista:

necesito una funcion pl/sql que calcule la edad

Publicado por plsql (2 intervenciones) el 12/05/2004 09:20:00
hola.

necesito saber como hacer para que yo ingrese una fecha de nacimiento y sql me devuelva la edad en años. esto en una función sql por supuesto.

gracias de antemano.

plsql.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:necesito una funcion pl/sql que calcule la edad

Publicado por Isaías Islas (5072 intervenciones) el 12/05/2004 20:13:14
Como Oracle maneja ANSI SQL, no le sera dificll codificarla:

DECLARE @birthday datetime, @d datetime
SELECT @birthday = '04/07/1960', @d = getdate()
SELECT datediff(yy, @birthday, @d) -
(case WHEN (datepart(m, @birthday) > datepart(m, @d)) OR
(datepart(m, @birthday) = datepart(m, @d) AND
datepart(d, @birthday) > datepart(d, @d))
THEN 1
ELSE 0
end) AS Age1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito una funcion pl/sql que calcule la edad

Publicado por plsql (2 intervenciones) el 13/05/2004 05:49:26
gracias por responder pero me temo que no entiendo nada. yo me refiero a una funcion del tipo:
create function edad (number)
return number is
begin
etc...

el código que me diste no me parece conocido, lo lamento, crees que puedes darme una mano?

gracias de antemano!

s.

pd. saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito una funcion pl/sql que calcule la edad

Publicado por Isaías Islas (5072 intervenciones) el 13/05/2004 17:26:00
El codigo que te enevie, serviria para hacer tu FUNCION, solo debes agregar el CREATE FUNCTION --

DECLARE @birthday datetime, @d datetime
SELECT @birthday = '04/07/1960', @d = getdate()

CREATE FUNCTION udf_Edad (@birthday datetime, @d datetime)
RETURNS INT
AS

RETURN (SELECT datediff(yy, @birthday, @d) -
(case WHEN (datepart(m, @birthday) > datepart(m, @d)) OR
(datepart(m, @birthday) = datepart(m, @d) AND
datepart(d, @birthday) > datepart(d, @d))
THEN 1
ELSE 0
end) )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito una funcion pl/sql que calcule la edad

Publicado por sql (1 intervención) el 14/05/2004 07:01:18
ok. gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar