sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo convertir una cadena en una fecha en PostgreSQL

Problema:

Le gustaría convertir una cadena que contiene una fecha en la fecha de PostgreSQL tipo de datos.

Convirtamos una cadena de fecha a la fecha tipo de datos en lugar de su texto actual tipo de datos.

Solución:

Aquí está el Ejemplo 1 de cómo usar el TO_DATE() función. Esta es la consulta que escribirías:

SELECT TO_DATE('20020304', 'YYYYMMDD') AS  new_date;

Y aquí está el resultado de la consulta:

nueva_fecha
2002-03-04

Veamos el Ejemplo 2 del TO_DATE() función. Observe el formato de fecha ligeramente diferente:

SELECT TO_DATE('2015/06/07', 'YYYY/MM/DD') AS  new_date;

Este es el resultado de la consulta:

nueva_fecha
2015-06-07

Discusión:

Usa la función TO_DATE() para convertir un valor de texto que contiene una fecha a la fecha tipo de datos. Esta función toma dos argumentos:

  1. Un valor de fecha. Puede ser una cadena (un valor de texto) o una columna de texto que contenga información de fecha. En nuestro ejemplo, usamos las cadenas '20020304' y '2015/06/07' .
  2. El formato de fecha de entrada. En nuestro ejemplo, usamos 'YYYYMMDD' y 'YYYY/MM/DD' . Tenga en cuenta que el formato de entrada es una cadena.

El formato de entrada decide cómo PostgreSQL procesará los caracteres en la cadena donde se almacena la fecha. El especificador 'YYYY' como los primeros cuatro caracteres indica que estos representan un año de 4 dígitos. A continuación, 'MM' representa un mes de 2 dígitos y 'DD' un día de 2 dígitos. Puede encontrar una lista de todos los especificadores en la documentación de PostgreSQL.

En el Ejemplo 1, la fecha de la cadena es '20020304 ' se convirtió a la fecha '2002-03-04' (una fecha tipo de datos. En el Ejemplo 2, la cadena '2015/06/07' se convirtió a la fecha '2015-06-07' . En el segundo ejemplo, usamos la barra inclinada / entre las partes de la fecha para convertir correctamente de una cadena a la fecha tipo de datos.