DTC-SQL-FAQ

Alter berrechnen PDF Drucken E-Mail
  
Mittwoch, den 28. Juli 2010 um 15:51 Uhr

Mit dieser Funktion können Sie das Alter, oder aber auch den Abstand zwischen zei Datumangaben  errechnen:

 

 

 

CREATE FUNCTION dbo.Age
    (
      @StartDate DATETIME,
      @EndDate DATETIME
    )
RETURNS @age TABLE
    (
      years INT,
      months INT,
      days INT
    )
AS BEGIN  
    DECLARE @SIGN SMALLINT  
    DECLARE @datumalt DATETIME  
    DECLARE @datumneu DATETIME  
 
    IF @StartDate > @EndDate 
        BEGIN  
            SET @datumalt = @EndDate  
            SET @datumneu = @StartDate  
            SET @SIGN = -1  
        END  
    ELSE 
        BEGIN  
            SET @datumalt = @StartDate  
            SET @datumneu = @EndDate  
            SET @SIGN = 1  
        END  
 
    INSERT  INTO @age
            SELECT  CASE WHEN DAY(@datumalt) <= DAY(@datumneu)
                         THEN ( DATEDIFF(MONTH, @datumalt, @datumneu) / 12 )
                              * @SIGN
                         ELSE ( ( DATEDIFF(MONTH, @datumalt, @datumneu) - 1 )
                                / 12 ) * @SIGN
                    END,
                    CASE WHEN DAY(@datumalt) <= DAY(@datumneu)
                         THEN ( DATEDIFF(MONTH, @datumalt, @datumneu) % 12 )
                              * @SIGN
                         ELSE ( ( DATEDIFF(MONTH, @datumalt, @datumneu) - 1 )
                                % 12 ) * @SIGN
                    END,
                    CASE WHEN DAY(@datumalt) <= DAY(@datumneu)
                         THEN ( DAY(@datumneu) - DAY(@datumalt) ) * @SIGN
                         ELSE ( DATEDIFF(DAY,
                                         DATEADD(MONTH,
                                                 DATEDIFF(MONTH, @datumalt,
                                                          @datumneu) - 1,
                                                 @datumalt), @datumneu) )
                              * @SIGN
                    END  
    RETURN  
   END  
 
Aktualisiert ( Mittwoch, den 28. Juli 2010 um 16:03 Uhr )
 

Wer ist online

Wir haben 4 Gäste online
2429
HeuteHeute14
GesternGestern49
Diese WocheDiese Woche14
Dieser MonatDieser Monat235
TotalTotal2429
Statistik created: c
IP.:38.107.191.101
US
UNITED STATES
US
Copyright © 2010 DTC-SQL-FAQ. Alle Rechte vorbehalten.
Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software.