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

SET_DATE_PART

SET_DATE_PART

Legt für einen Teil eines Datum/Zeit-Werts einen angegebenen Wert fest. Mit SET_DATE_PART können Sie folgende Teile eines Datums ändern:
  • Jahr.
    Ändern Sie das Jahr, indem Sie für das Argument
    value
    eine positive Ganzzahl eingeben. Verwenden Sie den gewünschten Formatstring (Y, YY, YYY oder YYYY), um das Jahr festzulegen. Beispiel: Der folgende Ausdruck ändert die Jahreskomponente in allen Datumsangaben im Port SHIP_DATE zu 2001:
    SET_DATE_PART( SHIP_DATE, 'YY', 2001 )
  • Monat.
    Ändern Sie den Monat, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 1 und 12 (Januar = 1, Dezember = 12) eingeben. Verwenden Sie den gewünschten Formatstring (MM, MON, MONTH), um den Monat festzulegen. Beispiel: Der folgende Ausdruck ändert die Monatskomponente in allen Datumsangaben im Port SHIP_DATE zu Oktober:
    SET_DATE_PART( SHIP_DATE, 'MONTH', 10 )
  • Tag.
    Ändern Sie den Tag, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 1 und 31 (außer für die Monate, die weniger als 31 Tage haben: Februar, April, Juni, September und November) eingeben. Verwenden Sie den gewünschten Formatstring (D, DD, DDD, DY und DAY), um den Tag festzulegen. Beispiel: Der folgende Ausdruck ändert die Tageskomponente in allen Datumsangaben im Port SHIP_DATE zu 10:
    SET_DATE_PART( SHIP_DATE, 'DD', 10 )
  • Stunde.
    Ändern Sie die Stunde, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 0 und 24 (0 = 12AM, 12 = 12PM, 24 = 12AM) eingeben. Verwenden Sie den gewünschten Formatstring (HH, HH12, HH24), um die Stunde festzulegen. Beispiel: Der folgende Ausdruck ändert die Stundenkomponente in allen Datumsangaben im Port SHIP_DATE zu 14:00:00 (bzw. 2:00:00PM):
    SET_DATE_PART( SHIP_DATE, 'HH', 14 )
  • Minute.
    Ändern Sie die Minuten, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 0 und 59 eingeben. Verwenden Sie zum Festlegen der Minuten den Formatstring MI. Beispiel: Der folgende Ausdruck ändert die Minutenkomponente in allen Datumsangaben im Port SHIP_DATE zu 25:
    SET_DATE_PART( SHIP_DATE, 'MI', 25 )
  • Sekunden.
    Ändern Sie die Sekunden, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 0 und 59 eingeben. Verwenden Sie zum Festlegen der Sekunden den Formatstring SS. Beispiel: Der folgende Ausdruck ändert die Sekundenkomponente in allen Datumsangaben im Port SHIP_DATE zu 59:
    SET_DATE_PART( SHIP_DATE, 'SS', 59 )
  • Millisekunden
    . Ändern Sie die Millisekunden, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 0 und 999 eingeben. Verwenden Sie zum Festlegen der Millisekunden den Formatstring MS. Beispiel: Der folgende Ausdruck ändert die Millisekundenkomponente in allen Datumsangaben im Port SHIP_DATE zu 125:
    SET_DATE_PART( SHIP_DATE, 'MS', 125 )
  • Mikrosekunden.
    Ändern Sie die Mikrosekunden, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 1000 und 999999 eingeben. Verwenden Sie zum Festlegen der Mikrosekunden den Formatstring US. Beispiel: Der folgende Ausdruck ändert die Mikrosekundenkomponente in allen Datumsangaben im Port SHIP_DATE zu 12555:
    SET_DATE_PART( SHIP_DATE, 'US', 12555 )
  • Nanosekunden.
    Ändern Sie die Nanosekunden, indem Sie für das Argument
    value
    eine positive Ganzzahl zwischen 1000000 und 999999999 eingeben. Verwenden Sie zum Festlegen der Nanosekunden den Formatstring NS. Beispiel: Der folgende Ausdruck ändert die Nanosekundenkomponente in allen Datumsangaben im Port SHIP_DATE zu
    12555555
    :
    SET_DATE_PART( SHIP_DATE, 'NS', 12555555 )

Syntax

SET_DATE_PART( 
date
,
format
,
value
 )
In der folgenden Tabelle werden die Argumente für diesen Befehl beschrieben:
Argument
Erforderlich/
Optional
Beschreibung
Datum
Erforderlich
Datum/Zeit-Datentyp. Das Datum, das geändert werden soll. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben.
format
Erforderlich
Formatstring, der festlegt, welcher Teil des Datums geändert wird. Bei Formatstrings muss nicht auf Groß-/Kleinschreibung geachtet werden.
value
Erforderlich
Ein positiver Ganzzahlenwert, der dem angegebenen Teil des Datums zugewiesen wird. Die Ganzzahl muss ein gültiger Wert für die zu ändernde Datumskomponente sein. Wenn Sie einen ungeeigneten Wert wie den 30. Februar eingeben, schlägt die Sitzung fehl.

Rückgabewert

Datum im selben Format wie das Ausgangsdatum, bei dem der angegebene Teil geändert wurde.
NULL, falls ein an die Funktion übergebener Wert NULL ist.

Beispiele

Die folgenden Ausdrücke ändern die Stundenkomponente aller Datumsangaben im Port DATE_PROMISED zu 4PM:
SET_DATE_PART( DATE_PROMISED, 'HH', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH12', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH24', 16 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 1997 4:15:56PM
Feb 13 1997 2:30:01AM
Feb 13 1997 4:30:01PM
Mar 31 1997 5:10:15PM
Mar 31 1997 4:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 1997 4:07:33PM
NULL
NULL
Die folgenden Ausdrücke ändern die Monatskomponente der Datumsangaben im Port DATE_PROMISED zu Juni:
Data Integration Service
zeigt einen Fehler an, wenn Sie versuchen, ein nicht existentes Datum zu erstellen, etwa beim Ändern von 31. März zu 31. Juni:
SET_DATE_PART( DATE_PROMISED, 'MM', 6 ) SET_DATE_PART( DATE_PROMISED, 'MON', 6 ) SET_DATE_PART( DATE_PROMISED, 'MONTH', 6 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jun 1 1997 12:15:56AM
Feb 13 1997 2:30:01AM
Jun 13 1997 2:30:01AM
Mar 31 1997 5:10:15PM
Error. Integration Service doesn't write row.
Dec 12 1997 8:07:33AM
Jun 12 1997 8:07:33AM
NULL
NULL
Die folgenden Ausdrücke ändern die Jahreskomponente der Datumsangaben im Port DATE_PROMISED zu 2000:
SET_DATE_PART( DATE_PROMISED, 'Y', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYYY', 2000 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 2000 12:15:56AM
Feb 13 1997 2:30:01AM
Feb 13 2000 2:30:01AM
Mar 31 1997 5:10:15PM
Mar 31 2000 5:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 2000 4:07:33PM
NULL
NULL

Tipp

Wenn Sie mehrere Teile eines Datums ändern möchten, können Sie mehrere SET_DATE_PART-Funktionen innerhalb des Arguments
date
verschachteln. Beispiel: Zum Ändern aller Datumsangaben im DATE_ENTERED zu 1. Juli 1998 können Sie folgenden Ausdruck formulieren:
SET_DATE_PART( SET_DATE_PART( SET_DATE_PART( DATE_ENTERED, 'YYYY', 1998),MM', 7), 'DD', 1)