Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (E-O)

 

MONTHS-Funktion [Datum und Uhrzeit]

Die eingegebenen Informationen ändern das Verhalten dieser Funktion:

  • Wenn Sie ein einzelnes Datum eingeben, liefert diese Funktion die Anzahl der Monate seit 0000-02-29.

    Hinweis

    "0000-02" gibt kein tatsächliches Datum wieder. Es ist das vom Algorithmus verwendete Datum.

  • Wenn Sie zwei Zeitstempel eingeben, liefert diese Funktion eine Ganzzahl, die die Anzahl der Monate zwischen den beiden darstellt. Verwenden Sie stattdessen die DATEDIFF-Funktion.

  • Wenn Sie ein Datum und eine Ganzzahl eingeben, fügt die Funktion die mit der Ganzzahl ausgedrückte Anzahl der Minuten dem angegebenen Zeitstempel hinzu. Verwenden Sie stattdessen die DATEADD-Funktion.

Syntax 1: Ganzzahl
MONTHS( [ DatumZeit-Ausdruck, ] DatumZeit-Ausdruck )
Syntax 2: Zeitstempel
MONTHS( DatumZeit-Ausdruck, Ganzzahlausdruck )
Parameter
  • DatumZeit-Ausdruck   Ein Datums- und Uhrzeitwert

  • Ganzzahlausdruck   Die Anzahl der Monate, die dem DatumZeit-Ausdruck hinzuzufügen ist. Wenn Ganzzahlausdruck negativ ist, wird die entsprechende Anzahl von Monaten vom Datum/Zeit-Wert abgezogen. Wenn Sie einen Ganzzahlausdruck angeben, muss der DatumZeit-Ausdruck explizit als Datumsdatentyp festgelegt sein.

    Hinweise zur Konvertierung von Datentypen finden Sie unter CAST-Funktion [Datentypkonvertierung].

Rückgabe

INT

TIMESTAMP

Bemerkungen

Der Wert von MONTHS wird anhand der Anzahl von Monatsersten zwischen zwei Datumsangaben berechnet.

Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Die folgende Anweisung gibt den Wert 2 zurück, womit angezeigt wird, dass das zweite Datum zwei Monate nach dem ersten liegt. Es wird empfohlen, das zweite Beispiel zu verwenden (DATEDIFF).

SELECT MONTHS( '1999-07-13 06:07:12',
   '1999-09-13 10:07:12' );

SELECT DATEDIFF( month,
   '1999-07-13 06:07:12',
   '1999-09-13 10:07:12' );

Die folgende Anweisung liefert den Wert 23981.

SELECT MONTHS( '1998-07-13 06:07:12' );

Die folgenden Anweisungen geben den Zeitstempel 1999-10-12 21:05:07.000 zurück. Es wird empfohlen, dass Sie das zweite Beispiel (DATEADD) verwenden.

SELECT MONTHS( CAST( '1999-05-12 21:05:07'
AS DATETIME ), 5);

SELECT DATEADD( month, 5, '1999-05-12 21:05:07' );