Datumsfunktionen - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Datumsfunktionen

Amazon S3 Select unterstützt die folgenden Datumsfunktionen.

DATE_ADD

Bei einem Datumsteil, einer Menge und einem Zeitstempel gibt DATE_ADD einen aktualisierten Zeitstempel zurück, indem der Datumsteil anhand der Menge modifiziert wird.

Syntax

DATE_ADD( date_part, quantity, timestamp )

Parameter

date_part

Gibt den zu modifizierenden Teil des Datums an. Dabei kann es sich um einen der folgenden Werte handeln:

  • Jahr

  • Monat

  • Tag

  • Stunde

  • Minute

  • Sekunde

quantity

Der Wert, der auf den aktualisierten Zeitstempel anzuwenden ist. Positive „quantity“-Werte werden zum „date_part“-Wert des Zeitstempels addiert, negative Werte werden subtrahiert.

timestamp

Der Zielzeitstempel, der von der Funktion verwendet wird.

Beispiele

DATE_ADD(year, 5, `2010-01-01T`) -- 2015-01-01 (equivalent to 2015-01-01T) DATE_ADD(month, 1, `2010T`) -- 2010-02T (result will add precision as necessary) DATE_ADD(month, 13, `2010T`) -- 2011-02T DATE_ADD(day, -1, `2017-01-10T`) -- 2017-01-09 (equivalent to 2017-01-09T) DATE_ADD(hour, 1, `2017T`) -- 2017-01-01T01:00-00:00 DATE_ADD(hour, 1, `2017-01-02T03:04Z`) -- 2017-01-02T04:04Z DATE_ADD(minute, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:05:05.006Z DATE_ADD(second, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:04:06.006Z

DATE_DIFF

Bei einem Datumsteil und zwei gültigen Zeitstempeln gibt DATE_DIFF die Differenz in Datumsteilen an. Sofern der date_part-Wert von timestamp1 größer ist als der date_part-Wert von timestamp2, wird eine negative Ganzzahl zurückgegeben. Wenn der date_part-Wert von timestamp1 kleiner ist als der date_part-Wert von timestamp2, wird eine positive Ganzzahl zurückgegeben.

Syntax

DATE_DIFF( date_part, timestamp1, timestamp2 )

Parameter

date_part

Gibt den zu vergleichenden Teil der Zeitstempel an. Die Definition von date_part finden Sie unter DATE_ADD.

timestamp1

Der erste Zeitstempel für den Vergleich.

timestamp2

Der zweite Zeitstempel für den Vergleich.

Beispiele

DATE_DIFF(year, `2010-01-01T`, `2011-01-01T`) -- 1 DATE_DIFF(year, `2010T`, `2010-05T`) -- 4 (2010T is equivalent to 2010-01-01T00:00:00.000Z) DATE_DIFF(month, `2010T`, `2011T`) -- 12 DATE_DIFF(month, `2011T`, `2010T`) -- -12 DATE_DIFF(day, `2010-01-01T23:00`, `2010-01-02T01:00`) -- 0 (need to be at least 24h apart to be 1 day apart)

EXTRACT

Bei einem Datumsteil und einem Zeitstempel gibt EXTRACT den Datumsteilwert des Zeitstempels zurück.

Syntax

EXTRACT( date_part FROM timestamp )

Parameter

date_part

Gibt den zu extrahierenden Teil der Zeitstempel an. Dabei kann es sich um einen der folgenden Werte handeln:

  • YEAR

  • MONTH

  • DAY

  • HOUR

  • MINUTE

  • SECOND

  • TIMEZONE_HOUR

  • TIMEZONE_MINUTE

timestamp

Der Zielzeitstempel, der von der Funktion verwendet wird.

Beispiele

EXTRACT(YEAR FROM `2010-01-01T`) -- 2010 EXTRACT(MONTH FROM `2010T`) -- 1 (equivalent to 2010-01-01T00:00:00.000Z) EXTRACT(MONTH FROM `2010-10T`) -- 10 EXTRACT(HOUR FROM `2017-01-02T03:04:05+07:08`) -- 3 EXTRACT(MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 4 EXTRACT(TIMEZONE_HOUR FROM `2017-01-02T03:04:05+07:08`) -- 7 EXTRACT(TIMEZONE_MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 8

TO_STRING

Bei einem Zeitstempel und einem Formatmuster gibt TO_STRING eine Zeichenfolgendarstellung des Zeitstempels im angegebenen Format zurück.

Syntax

TO_STRING ( timestamp time_format_pattern )

Parameter

timestamp

Der Zielzeitstempel, der von der Funktion verwendet wird.

time_format_pattern

Eine Zeichenfolge mit folgenden speziellen Zeichenbedeutungen:

Format

Beispiel

Beschreibung

yy

69

Jahreszahl mit 2 Ziffern

y

1969

Jahreszahl mit 4 Ziffern

yyyy

1969

Jahreszahl mit 4 Ziffern, mit Nullen aufgefüllt

M

1

Monatsname

MM

01

Monatsname, mit Nullen aufgefüllt

MMM

Jan

Abkürzung des Monatsnamens

MMMM

January

Vollständiger Monatsnamen

MMMMM

J

Erster Buchstabe des Monatsnamens (HINWEIS: Dieses Format kann nicht mit der Funktion „TO_TIMESTAMP“ verwendet werden.)

d

2

Monatstag (1-31)

dd

02

Monatstag, mit Nullen aufgefüllt (01-31)

a

AM

AM oder PM

h

3

Stunde (1-12)

hh

03

Stunde, mit Nullen aufgefüllt (01-12)

H

3

Stunde (0-23)

HH

03

Stunde, mit Nullen aufgefüllt (00-23)

m

4

Minute (0-59)

mm

04

Minute, mit Nullen aufgefüllt (00-59)

s

5

Sekunde (0-59)

ss

05

Sekunde, mit Nullen aufgefüllt (00-59)

S

0

Sekundenbruchteil (Genauigkeit: 0,1, Bereich: 0,0-0,9)

SS

6

Sekundenbruchteil (Genauigkeit: 0,01, Bereich: 0,0-0,99)

SSS

60

Sekundenbruchteil (Genauigkeit: 0,001, Bereich: 0,0-0,999)

SSSSSSSSS

60000000

Sekundenbruchteil (max. Genauigkeit: 1 Nanosekunde, Bereich: 0,0-0,999999999)

n

60000000

Nanosekunde

X

+07 oder Z

Offset in Stunden oder „Z“ bei“ Offset = 0

XX oder XXXX

+0700 oder Z

Offset in Stunden und Minuten oder „Z“ bei Offset = 0

XXX oder XXXXX

+07:00 oder Z

Offset in Stunden und Minuten oder „Z“ bei Offset = 0

x

7

Offset in Stunden

xx oder xxxx

700

Offset in Stunden und Minuten

xxx oder xxxxx

+07:00

Offset in Stunden und Minuten

Beispiele

TO_STRING(`1969-07-20T20:18Z`, 'MMMM d, y') -- "July 20, 1969" TO_STRING(`1969-07-20T20:18Z`, 'MMM d, yyyy') -- "Jul 20, 1969" TO_STRING(`1969-07-20T20:18Z`, 'M-d-yy') -- "7-20-69" TO_STRING(`1969-07-20T20:18Z`, 'MM-d-y') -- "07-20-1969" TO_STRING(`1969-07-20T20:18Z`, 'MMMM d, y h:m a') -- "July 20, 1969 8:18 PM" TO_STRING(`1969-07-20T20:18Z`, 'y-MM-dd''T''H:m:ssX') -- "1969-07-20T20:18:00Z" TO_STRING(`1969-07-20T20:18+08:00Z`, 'y-MM-dd''T''H:m:ssX') -- "1969-07-20T20:18:00Z" TO_STRING(`1969-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXX') -- "1969-07-20T20:18:00+0800" TO_STRING(`1969-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXXX') -- "1969-07-20T20:18:00+08:00"

TO_TIMESTAMP

Bei einer Zeichenfolge wandelt TO_TIMESTAMP diese in einen Zeitstempel um. TO_TIMESTAMP ist der umgekehrte Vorgang von TO_STRING.

Syntax

TO_TIMESTAMP ( string )

Parameter

string

Die Zielzeichenfolge, die von der Funktion verwendet wird.

Beispiele

TO_TIMESTAMP('2007T') -- `2007T` TO_TIMESTAMP('2007-02-23T12:14:33.079-08:00') -- `2007-02-23T12:14:33.079-08:00`

UTCNOW

UTCNOW gibt die aktuelle Zeit in UTC als Zeitstempel zurück.

Syntax

UTCNOW()

Parameter

UTCNOW nutzt keine Parameter.

Beispiele

UTCNOW() -- 2017-10-13T16:02:11.123Z