Buscar..


Convertir una marca de tiempo o intervalo a una cadena

Puede convertir una timestamp o un valor de interval en una cadena con la función to_char() :

SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');

Esta declaración producirá la cadena "12 ago 2016 04:40:32 PM". La cadena de formato se puede modificar de muchas maneras diferentes; La lista completa de patrones de plantillas se puede encontrar aquí .

Tenga en cuenta que también puede insertar texto sin formato en la cadena de formato y puede usar los patrones de plantilla en cualquier orden:

SELECT to_char('2016-08-12 16:40:32'::timestamp, 
               '"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');

Esto producirá la cadena "Hoy es sábado, el día 12 del mes de agosto de 2016". Sin embargo, debe tener en cuenta que cualquier patrón de plantilla, incluso los de una sola letra, como "I", "D", "W", se convierten, a menos que el texto simple esté entre comillas dobles. Como medida de seguridad, debe poner todo el texto sin formato entre comillas dobles, como se hizo anteriormente.

Puede localizar la cadena a su idioma de elección (nombres de día y mes) usando el modificador TM (modo de traducción). Esta opción utiliza la configuración de localización del servidor que ejecuta PostgreSQL o el cliente que se conecta a él.

SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');

Con una configuración regional española, esto produce "Sábado, 12 de agosto del año 2016".

SELECCIONA el último día del mes

Puede seleccionar el último día del mes.

SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE; 

201608 es reemplazable con una variable.

Cuente el número de registros por semana

SELECCIONE date_trunc ('week', <>) AS "Week", count (*) FROM <> GROUP BY 1 ORDER BY 1;



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow