| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | 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
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |