Funciones de datos
importante
Amazon S3 Select ya no está disponible para los nuevos clientes. Los clientes actuales de Amazon S3 Select pueden seguir utilizando la característica de la forma habitual. Más información
Amazon S3 Select admite las siguientes funciones de fecha.
DATE_ADD
Dadas una parte de fecha, una cantidad y una marca temporal, DATE_ADD devuelve una marca temporal actualizada alterando la parte de fecha por la cantidad especificada.
Sintaxis
DATE_ADD(date_part,quantity,timestamp)
Parámetros
- date_part
- 
								Especifica qué parte de la fecha se debe modificar. Puede ser una de las siguientes: - 
										año 
- 
										mes 
- 
										día 
- 
										hora 
- 
										minuto 
- 
										segundos 
 
- 
										
- 
								quantity
- 
								El valor que se debe aplicar a la marca temporal actualizada. Los valores positivos de quantity
- 
								timestamp
- 
								La marca temporal de destino en la que opera la función. 
Ejemplos
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
Dadas una parte de fecha y dos marcas temporales válidas, DATE_DIFF devuelve la diferencia entre las partes de fecha. El valor devuelto es un número entero negativo si el valor date_parttimestamp1date_parttimestamp2date_parttimestamp1date_parttimestamp2
Sintaxis
DATE_DIFF(date_part,timestamp1,timestamp2)
Parámetros
- 
								date_part
- 
								Especifica qué parte de las marcas temporales se debe comparar. Para ver la definición de date_part, consulte DATE_ADD.
- 
								timestamp1
- 
								La primera marca temporal que se va a comparar. 
- 
								timestamp2
- 
								La segunda marca temporal que se va a comparar. 
Ejemplos
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
Dadas una parte de fecha y una marca temporal, EXTRACT devuelve el valor de la parte de fecha de la marca temporal.
Sintaxis
EXTRACT(date_partFROMtimestamp)
Parámetros
- 
								date_part
- 
								Especifica qué parte de las marcas temporales se va a extraer. Puede ser una de las siguientes: - 
										YEAR
- 
										MONTH
- 
										DAY
- 
										HOUR
- 
										MINUTE
- 
										SECOND
- 
										TIMEZONE_HOUR
- 
										TIMEZONE_MINUTE
 
- 
										
- 
								timestamp
- 
								La marca temporal de destino en la que opera la función. 
Ejemplos
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
Dados una marca temporal y un patrón de formato, TO_STRING devuelve una representación de cadena de la marca temporal en el formato especificado.
Sintaxis
TO_STRING (timestamptime_format_pattern)
Parámetros
- 
								timestamp
- 
								La marca temporal de destino en la que opera la función. 
- 
								time_format_pattern
- 
								Una cadena que tiene las siguientes interpretaciones de caracteres especiales: Formato Ejemplo Descripción yy69Año en 2 dígitos y1969Año en 4 dígitos yyyy1969Año en 4 dígitos rellenado con ceros M1Mes del año MM01Mes del año rellenado con ceros MMMJanNombre del mes del año abreviado MMMMJanuaryNombre del mes del año completo MMMMMJPrimera letra del mes del año (NOTA: este formato no es válido para su uso con la función TO_TIMESTAMP).d2Día del mes (1-31) dd02Día del mes rellenado con ceros (01-31) aAMAM o PM h3Hora del día (1-12) hh03Hora del día rellenada con ceros (01-12) H3Hora del día (0-23) HH03Hora del día rellenada con ceros (00-23) m4Minuto (0-59) mm04Minutos rellenados con ceros (00-59) s5Segundo (0-59) ss05Segundos rellenados con ceros (00-59) S0Fracción de un segundo (precisión: 0,1, rango: 0,0-0,9) SS6Fracción de un segundo (precisión: 0,01, rango: 0,0-0,99) SSS60Fracción de un segundo (precisión: 0,001, rango: 0,0-0,999) ……… SSSSSSSSS60000000Fracción de un segundo (precisión máxima: 1 nanosegundo, rango: 0,0-0,999999999) n60000000Nanosegundo X+07oZDesplazamiento en horas o Zsi el desplazamiento es 0XXoXXXX+0700oZDesplazamiento en horas y minutos o Zsi el desplazamiento es 0XXXoXXXXX+07:00oZDesplazamiento en horas y minutos o Zsi el desplazamiento es 0x7Desplazamiento en horas xxoxxxx700Desplazamiento en horas y minutos xxxoxxxxx+07:00Desplazamiento en horas y minutos 
Ejemplos
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
Dada una cadena, TO_TIMESTAMP la convierte en una marca temporal. TO_TIMESTAMP es la operación inversa de TO_STRING.
Sintaxis
TO_TIMESTAMP (string)
Parámetros
- 
								string
- 
								La cadena de destino sobre la que opera la función. 
Ejemplos
TO_TIMESTAMP('2007T') -- `2007T` TO_TIMESTAMP('2007-02-23T12:14:33.079-08:00') -- `2007-02-23T12:14:33.079-08:00`
UTCNOW
UTCNOW devuelve la hora actual en UTC como una marca temporal.
Sintaxis
UTCNOW()
Parámetros
UTCNOW no acepta parámetros.
Ejemplos
UTCNOW() -- 2017-10-13T16:02:11.123Z