Szukaj…


Rzuć znacznik czasu lub interwał na ciąg

Za pomocą funkcji to_char() możesz przekonwertować timestamp lub wartość interval na ciąg:

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

To oświadczenie spowoduje wygenerowanie ciągu „12 sierpnia 2016 16:40:32”. Ciąg formatujący można modyfikować na wiele różnych sposobów; pełną listę wzorców szablonów można znaleźć tutaj .

Pamiętaj, że możesz również wstawić zwykły tekst do ciągu formatującego i możesz użyć wzorców szablonów w dowolnej kolejności:

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

Spowoduje to wygenerowanie ciągu „Dzisiaj jest sobota, 12. dzień miesiąca sierpnia 2016 r.”. Należy jednak pamiętać, że wszelkie wzorce szablonów - nawet jednoliterowe, takie jak „I”, „D”, „W” - są konwertowane, chyba że zwykły tekst jest w cudzysłowie. Ze względów bezpieczeństwa powinieneś umieścić cały zwykły tekst w podwójnych cudzysłowach, jak opisano powyżej.

Możesz zlokalizować ciąg według wybranego języka (nazwy dnia i miesiąca) za pomocą modyfikatora TM (tryb tłumaczenia). Ta opcja wykorzystuje ustawienie lokalizacji serwera z uruchomionym PostgreSQL lub klientem łączącym się z nim.

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

Przy hiszpańskich ustawieniach regionalnych daje to „Sábado, 12 de Agosto del año 2016”.

Wybierz ostatni dzień miesiąca

Możesz wybrać ostatni dzień miesiąca.

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

201608 jest wymienny na zmienną.

Policz liczbę rekordów tygodniowo

WYBIERZ date_trunc („tydzień”, <>) JAKO „Tydzień”, policz (*) OD <> GRUPUJ WEDŁUG 1 ZAMÓW WEDŁUG 1;



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow