|
| datofelt til fødselsdag/måned Fra : Martin |
Dato : 18-12-07 14:56 |
|
Hejsa..
Jeg sidder med et birthdate felt af typen DATE, udfra dette vil jeg
gerne have år gammel - dette får jeg ved
SELECT
(YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))
AS age
FROM table
Men nu er jeg kommet ind i et lille problem - nu skal hvis ovenstående
giver 0 så skal den hente hvor mange måneder gammel
Jeg har prøvet med en IF og en CASE, men intet er lykkedes.
SELECT
IF(
(YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))<1)
,(YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))<1)
,MONTH(birthdate)
) AS age
ENDIF
FROM table
SELECT
(YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))
AS age,
CASE age<1 THEN BIRTH(month) AS age END
FROM table
MySQL 5.0.27
| |
Martin (18-12-2007)
| Kommentar Fra : Martin |
Dato : 18-12-07 15:07 |
|
Martin wrote:
> Hejsa..
>
> Jeg sidder med et birthdate felt af typen DATE, udfra dette vil jeg
> gerne have år gammel - dette får jeg ved
> SELECT
> (YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))
> AS age
> FROM table
>
> Men nu er jeg kommet ind i et lille problem - nu skal hvis ovenstående
> giver 0 så skal den hente hvor mange måneder gammel
> Jeg har prøvet med en IF og en CASE, men intet er lykkedes.
Så fik jeg det til at virke :)
SELECT
(YEAR(CURDATE())-YEAR(birthdate))-(RIGHT(CURDATE(),5)<RIGHT(birthdate,5))
AS age,
IF(
age<1
,MONTH(birthdate)
,age
) AS age
| |
|
|