Inhaltsverzeichnis

Search

  1. Vorwort
  2. Umwandlungssprache
  3. Konstanten
  4. Operatoren
  5. Variablen
  6. Datumsangaben
  7. Funktionen

Referenzhandbuch für die Umwandlungssprache

Referenzhandbuch für die Umwandlungssprache

ROUND (Datum)

ROUND (Datum)

Rundet einen Teil des Datums. ROUND kann auch zum Runden von Zahlen eingesetzt werden.
Die Funktion kann folgende Teile eines Datums runden:
Jahr
Rundet die Jahreskomponente eines Datums anhand des Monats.
Monat
Rundet die Monatskomponente eines Datums anhand des Tages des Monats.
Tag
Rundet die Tageskomponente eines Datums anhand der Uhrzeit.
Stunde
Rundet die Stundenkomponente eines Datums anhand der Minuten.
Minute
Rundet die Minutenkomponente eines Datums anhand der Sekunden.
Sekunde
Rundet die Sekundenkomponente eines Datums anhand der Millisekunden.
Millisekunde
Rundet die Millisekundenkomponente eines Datums anhand der Mikrosekunden.
Mikrosekunde
Rundet die Mikrosekundenkomponente eines Datums anhand der Nanosekunden.
Die folgende Tabelle zeigt die Bedingungen des ROUND-Ausdrucks und die entsprechenden Rückgabewerte:
Bedingung
Ausdruck
Rückgabewert
Für die Monate von Januar bis Juni gibt die Funktion den 1. Januar desselben Jahres zurück und setzt die Uhrzeit auf 00:00:00.000000000.
ROUND(TO_DATE('04/16/1998 8:24:19','MM/DD/YYYY HH24:MI:SS'),'YY')
01/01/1998 00:00:00.000000000
Für die Monate von Juli bis Dezember gibt die Funktion den 1. Januar des nächsten Jahres zurück und setzt die Uhrzeit auf 00:00:00.000000000.
ROUND(TO_DATE('07/30/1998 2:30:55','MM/DD/YYYY HH24:MI:SS'),'YY')
01/01/1999 00:00:00.000000000
Für den Tag des Monats zwischen dem 1. und dem 15. gibt die Funktion den ersten Tag des Eingabemonats zurück und setzt die Uhrzeit auf 00:00:00.000000000.
ROUND(TO_DATE('04/15/1998 8:24:19','MM/DD/YYYY HH24:MI:SS'),'MM')
04/01/1998 00:00:00.000000000
Für den 16. bis letzten Tag des Monats gibt die Funktion den ersten Tag des nächsten Monats zurück und setzt die Uhrzeit auf 00:00:00.000000000.
ROUND(TO_DATE('05/22/1998 10:15:29','MM/DD/YYYY HH24:MI:SS'),'MM')
06/01/1998 00:00:00.000000000
Für die Uhrzeit zwischen 00:00:00 (12 a.m.) und 11:59:59 (a.m.) gibt die Funktion das aktuelle Datum zurück und setzt die Uhrzeit auf 00:00:00.000000000 (12 a.m.).
ROUND(TO_DATE('06/13/1998 2:30:45','MM/DD/YYYY HH24:MI:SS'),'DD')
06/13/1998 00:00:00.000000000
Ab 12:00:00 (12 p.m.) gibt die Funktion das Datum des nächsten Tages zurück und setzt die Uhrzeit auf 00:00:00.000000000 (12 a.m.).
ROUND(TO_DATE('06/13/1998 22:30:45','MM/DD/YYYY HH24:MI:SS'),'DD')
06/14/1998 00:00:00.000000000
Für die Minuten zwischen 0 und 29 gibt die Funktion die aktuelle Stunde zurück und setzt die Minuten, Sekunden, Millisekunden und Nanosekunden auf 0.
ROUND(TO_DATE('04/01/1998 11:29:35','MM/DD/YYYY HH24:MI:SS'),'HH')
04/01/1998 11:00:00.000000000
Ab 30 Minuten nach der vollen Stunde gibt die Funktion die nächste volle Stunde zurück und setzt die Minuten, Sekunden, Millisekunden und Nanosekunden auf 0.
ROUND(TO_DATE('04/01/1998 13:39:00','MM/DD/YYYY HH24:MI:SS'),'HH')
04/01/1998 14:00:00.000000000
Für die Zeit zwischen 0 und 29 Sekunden gibt die Funktion die aktuelle Minute zurück und setzt die Sekunden, Millisekunden und Nanosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29','MM/DD/YYYY HH24:MI:SS'),'MI')
05/22/1998 10:15:00.000000000
Für die Zeit zwischen 30 und 59 Sekunden gibt die Funktion die nächste volle Minute zurück und setzt Sekunden, Millisekunden und Nanosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:30','MM/DD/YYYY HH24:MI:SS'),'MI')
05/22/1998 10:16:00.000000000
Für die Zeit zwischen 0 und 499 Millisekunden gibt die Funktion die aktuelle Sekunde zurück und setzt die Millisekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.499','MM/DD/YYYY HH24:MI:SS.MS'),'SS')
05/22/1998 10:15:29.000000000
Für die Zeit zwischen 500 und 999 Millisekunden gibt die Funktion die nächste volle Sekunde zurück und setzt die Millisekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.500','MM/DD/YYYY HH24:MI:SS.MS'),'SS')
05/22/1998 10:15:30.000000000
Für die Zeit zwischen 0 und 499 Mikrosekunden gibt die Funktion die aktuelle Millisekunde zurück und setzt die Mikrosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.498125','MM/DD/YYYY HH24:MI:SS.US'),'MS')
05/22/1998 10:15:29.498000000
Für die Zeit zwischen 500 und 999 Mikrosekunden gibt die Funktion die nächste volle Millisekunde zurück und setzt die Mikrosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.498785','MM/DD/YYYY HH24:MI:SS.US'),'MS')
05/22/1998 10:15:29.499000000
Für die Zeit zwischen 0 und 499 Nanosekunden gibt die Funktion die aktuelle Mikrosekunde zurück und setzt die Nanosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.498125345','MM/DD/YYYY HH24:MI:SS.NS'),'US')
05/22/1998 10:15:29.498125000
Für die Zeit zwischen 500 und 999 Nanosekunden gibt die Funktion die nächste volle Mikrosekunde zurück und setzt die Nanosekunden auf 0.
ROUND(TO_DATE('05/22/1998 10:15:29.498125876','MM/DD/YYYY HH24:MI:SS.NS'),'US')
05/22/1998 10:15:29.498126000

Syntax

ROUND(
date
[,
format
] )
In der folgenden Tabelle werden die Argumente für diesen Befehl beschrieben:
Argument
Erforderlich/
Optional
Beschreibung
date
Erforderlich
Datum/Zeit-Datentyp. Vor dem Runden können Sie die Funktion TO_DATE verschachteln, um Zeichenfolgen in Datumsangaben zu konvertieren.
format
optional
Geben Sie eine gültige Formatzeichenfolge ein. Das ist der Teil des Datums, der gerundet werden soll. Es kann nur jeweils ein Teil des Datums gerundet werden. Wenn Sie die Formatzeichenfolge nicht angeben, rundet die Funktion das Datum auf den nächsten Tag.

Rückgabewert

Datum mit gerundetem angegebenen Teil. ROUND gibt ein Datum im selben Format wie das Ausgangsdatum zurück. Sie können die Ergebnisse dieser Funktion mit einem beliebigen Port des Datum/Zeit-Datentyps verknüpfen.
NULL, wenn Sie der Funktion einen Nullwert übergeben.

Beispiele

Die folgenden Ausdrücke runden die Jahreskomponente der Datumsangaben im Port DATE_SHIPPED:
ROUND( DATE_SHIPPED, 'Y' ) ROUND( DATE_SHIPPED, 'YY' ) ROUND( DATE_SHIPPED, 'YYY' ) ROUND( DATE_SHIPPED, 'YYYY' )
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 12:00:00.000000000AM
Apr 19 1998 1:31:20PM
Jan 1 1998 12:00:00.000000000AM
Dec 20 1998 3:29:55PM
Jan 1 1999 12:00:00.000000000AM
NULL
NULL
Die folgenden Ausdrücke runden die Monatskomponente aller Datumsangaben im Port DATE_SHIPPED:
ROUND( DATE_SHIPPED, 'MM' ) ROUND( DATE_SHIPPED, 'MON' ) ROUND( DATE_SHIPPED, 'MONTH' )
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 1 1998 12:00:00.000000000AM
Apr 19 1998 1:31:20PM
May 1 1998 12:00:00.000000000AM
Dec 20 1998 3:29:55PM
Jan 1 1999 12:00:00.000000000AM
NULL
NULL
Die folgenden Ausdrücke runden die Tageskomponente aller Datumsangaben im Port DATE_SHIPPED:
ROUND( DATE_SHIPPED, 'D' ) ROUND( DATE_SHIPPED, 'DD' ) ROUND( DATE_SHIPPED, 'DDD' ) ROUND( DATE_SHIPPED, 'DY' ) ROUND( DATE_SHIPPED, 'DAY' )
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 12:00:00.000000000AM
Apr 19 1998 1:31:20PM
Apr 20 1998 12:00:00.000000000AM
Dec 20 1998 3:29:55PM
Dec 21 1998 12:00:00.000000000AM
Dec 31 1998 11:59:59PM
Jan 1 1999 12:00:00.000000000AM
NULL
NULL
Die folgenden Ausdrücke runden die Stundenkomponente aller Datumsangaben im Port DATE_SHIPPED:
ROUND( DATE_SHIPPED, 'HH' ) ROUND( DATE_SHIPPED, 'HH12' ) ROUND( DATE_SHIPPED, 'HH24' )
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:31AM
Jan 15 1998 2:00:00.000000000AM
Apr 19 1998 1:31:20PM
Apr 19 1998 2:00:00.000000000PM
Dec 20 1998 3:29:55PM
Dec 20 1998 3:00:00.000000000PM
Dec 31 1998 11:59:59PM
Jan 1 1999 12:00:00.000000000AM
NULL
NULL
Der folgende Ausdruck rundet die Minutenkomponente aller Datumsangaben im Port DATE_SHIPPED:
ROUND( DATE_SHIPPED, 'MI' )
DATE_SHIPPED
RETURN VALUE
Jan 15 1998 2:10:30AM
Jan 15 1998 2:11:00.000000000AM
Apr 19 1998 1:31:20PM
Apr 19 1998 1:31:00.000000000PM
Dec 20 1998 3:29:55PM
Dec 20 1998 3:30:00.000000000PM
Dec 31 1998 11:59:59PM
Jan 1 1999 12:00:00.000000000AM
NULL
NULL