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 (A-D)

 

DAYS-Funktion [Datum und Uhrzeit]

Eine Funktion, die Tage berechnet. Spezifische Details finden Sie unter dem Verwendungszweck dieser Funktion.

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

  • Ganzzahlausdruck   Die Anzahl der Tage, die dem DatumZeit-Ausdruck hinzuzufügen ist. Wenn Ganzzahlausdruck negativ ist, wird die entsprechende Anzahl von Tagen vom Zeitstempel abgezogen. Wenn Sie einen Ganzzahlausdruck angeben, muss der DatumZeit-Ausdruck explizit als Datum oder Zeitstempel festgelegt sein.

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

Rückgabe

INT, wenn Sie zwei datetime-Ausdrücke angeben.

TIMESTAMP, wenn das zweite angegebene Argument eine Ganzzahl ist.

Bemerkungen

Das Verhalten dieser Funktion variiert je nach den angegebenen Informationen:

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

    Hinweis

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

  • Wenn Sie zwei Daten eingeben, liefert diese Funktion eine Ganzzahl, die die Anzahl der Tage zwischen den beiden Daten 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 Tage zum angegebenen Datum hinzu. Verwenden Sie stattdessen die DATEADD-Funktion.

Diese Funktion ignoriert Stunden, Minuten und Sekunden.

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

Beispiel

Die folgende Anweisung gibt die Ganzzahl "729889" zurück.

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

Die folgenden Anweisungen geben den Ganzzahlwert "-366" zurück, womit angezeigt wird, dass das zweite Datum 366 Tage vor dem ersten liegt. Es wird empfohlen, das zweite Beispiel zu verwenden (DATEDIFF).

SELECT DAYS( '1998-07-13 06:07:12',
             '1997-07-12 10:07:12' );
SELECT DATEDIFF( day,
   '1998-07-13 06:07:12',
   '1997-07-12 10:07:12' );

Die folgenden Anweisungen geben den Zeitstempel 1999-07-14 00:00:00.000 zurück. Es wird empfohlen, dass Sie das zweite Beispiel (DATEADD) verwenden.

SELECT DAYS( CAST('1998-07-13' AS DATE ), 366 );
SELECT DATEADD( day, 366, '1998-07-13' );