postgresql
Даты, отметки времени и интервалы
Поиск…
Отметьте временную метку или интервал для строки
Вы можете преобразовать to_char()
timestamp
или значение interval
в строку с помощью функции to_char()
:
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');
В этом выражении появится строка «12 августа 2016 года 04:40:32». Строка форматирования может быть изменена различными способами; полный список шаблонов шаблонов можно найти здесь .
Обратите внимание, что вы также можете вставить простой текст в строку форматирования, и вы можете использовать шаблоны шаблонов в любом порядке:
SELECT to_char('2016-08-12 16:40:32'::timestamp,
'"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');
Это приведет к созданию строки «Сегодня суббота, 12-й день августа 2016 года». Однако вы должны иметь в виду, что любые шаблоны шаблонов - даже однобуквенные, такие как «I», «D», «W» - преобразуются, если только обычный текст не заключен в двойные кавычки. В качестве меры безопасности вы должны поместить весь текст в двойные кавычки, как это было сделано выше.
Вы можете локализовать строку на выбранном вами языке (имя дня и месяца), используя модификатор TM (режим перевода). Эта опция использует параметр локализации сервера, на котором запущен PostgreSQL или клиент, подключающийся к нему.
SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');
С установкой испанской локали это производит «Sábado, 12 de Agosto del año 2016».
ВЫБРАТЬ последний день месяца
Вы можете выбрать последний день месяца.
SELECT (date_trunc('MONTH', ('201608'||'01')::date) + INTERVAL '1 MONTH - 1 day')::DATE;
201608
переменной.
Подсчитайте количество записей в неделю
SELECT date_trunc ('week', <>) AS "Week", count (*) FROM <> GROUP BY 1 ORDER BY 1;