Aunque la zona horaria predeterminada para el valor devuelto de la función actual_date es UTC, se puede cambiar utilizando otras funciones incorporadas de desplazamiento rojo. Del mismo modo, algunas funciones incorporadas de desplazamiento al rojo se pueden usar para extraer el día, mes y año desde el valor devuelto de la función actual_date.
En este blog, veremos cómo se puede utilizar la función RedShift Current_Date para diferentes casos de uso.
Sintaxis de Current_Date
La sintaxis de la función Current_Date es mucho más simple que otras funciones incorporadas disponibles para Redshift. La función Current_Date no toma ningún argumento y se puede utilizar junto con una instrucción selecta. La siguiente es la sintaxis para obtener la fecha de inicio de la transacción actual que se ejecuta en Amazon Redshift.
Seleccione Current_Date;Obtenga la fecha actual usando la función current_date
Para obtener la fecha actual en Amazon RedShift, puede usar la función Current_Date. La función Current_Date devuelve la fecha de inicio de la transacción en lugar de la fecha de inicio de la declaración actual.
La siguiente consulta devolverá la fecha de inicio de la transacción actual en el desplazamiento rojo de Amazon.
Seleccione Current_Date;El siguiente será la salida de la función Current_Date en el clúster de Amazon RedShift.
FECHALa fecha devuelta de la función actual_date estará en la zona horaria de UTC. Debe sintonizarlo de acuerdo con su zona horaria antes de concluir los resultados.
Cambiar la zona horaria de Current_Date
Como se describió anteriormente, la fecha devuelta por la función Current_Date estará en la zona horaria de UTC de forma predeterminada. Para obtener la fecha en su zona horaria deseada, debe cambiar la zona horaria de la fecha de UTC a su zona horaria preferida.
Para convertir la zona horaria de la función Current_Date, usaremos otra función incorporada convert_timzaNe. Esta función tomará la zona horaria de origen, la zona horaria y el tiempo de origen, y convertirá el tiempo en la zona horaria de destino.
La siguiente consulta generará la fecha de inicio de la transacción actual en su zona horaria deseada.
Seleccione Convert_Timazone ('UTC', 'GMT+5', Current_Date);Cuando se ejecuta en RedShift, la consulta anterior primero obtendrá la fecha actual utilizando la función Current_Date en la zona horaria de UTC y luego convertirá la zona horaria de la fecha de UTC a GMT+5.
Conseguir día, mes y año de Current_Date
La función Current_Date devuelve la fecha en formato aayyy-mm-dd en la zona horaria de UTC. Puede extraer el año, el mes y el día desde la fecha utilizando la función de extracto en Amazon Redshift.
Para extraer el año desde la fecha utilizando la función actual_date y extraer, ejecute la siguiente consulta en el clúster de desplazamiento rojo:
Seleccione Extract (año de Current_Date) como año;La consulta anterior primero obtendrá la fecha de inicio de la transacción actual en la zona horaria de UTC, y luego la función de extracto extraerá el año a partir de esa fecha.
Del mismo modo, puede obtener el mes desde la fecha actual utilizando el método de extracto. La ejecución de la siguiente consulta extraerá el mes desde la fecha en el clúster de desplazamiento rojo:
Seleccione Extract (mes de Current_Date) como mes;Para extraer la fecha de la función actual_date utilizando la función de extracto, ejecute la siguiente consulta dentro del clúster de desplazamiento rojo:
Seleccione Extract (Día de Current_Date) como día;La consulta de desplazamiento rojo anterior devolverá la fecha hoy al extraerla de la función actual_date.
También puede usar la función Current_Date con Convert_Timezone y extraer funciones para extraer la fecha de la fecha actual en su zona horaria requerida. Ejecute la siguiente consulta en el clúster de desplazamiento rojo para extraer la fecha de la fecha actual en la zona horaria GMT+5.
Seleccione Convert_TimáZone ('UTC', 'GMT+5', Extract (Day From Tribut_Date));La consulta anterior primero obtendrá la fecha actual y luego la función de extracto extraerá la fecha de la función actual_date. Luego, la función Convert_Timezone cambiará la zona horaria de la fecha de UTC a GMT+5.
Formato de fecha de cambio
El formato predeterminado de la función actual_date es aaa yyyy-mm-dd, pero siempre puede cambiar el formato de fecha. La función TO_CHAR se puede usar para cambiar el formato predeterminado de la función Current_Date.
La siguiente consulta obtendrá la fecha de inicio de la transacción actual en su formato deseado.
Seleccionar TO_CHAR (current_date, 'mm-dd-yyyy');Conclusión
La función Current_Date en RedShift se puede usar para obtener la fecha de inicio de la transacción actual en el clúster. De manera predeterminada, esta función devuelve la fecha actual en la zona horaria de UTC en formato YYYY-MM-DD. Esta función se puede usar con otras funciones para obtener la fecha actual en su formato y zona horaria deseados. Este artículo describe diferentes casos de uso de la función Current_Date junto con otras funciones relacionadas con el tiempo y la fecha, como Convert_Timezone y Extract.