Функции преобразования типа
Суффикс ТН и префикс FM должны непосредственно примыкать к тому значению, которое они модифицируют. Например, чтобы префикс FM применялся к компоненту Day, строка должна иметь вид FMDay (а не FM Day). Аналогично, чтобы день месяца выводился с суффиксом числительного, потребуется форматная строка DDTH (а не DD ТН).
Примеры:
booktown=# SELECT to_char(now(). 'HH:MI PM1) AS the_time; the_time 05:04 PM (1 row) booktown=# SELECT to_char(now(), 'Dy (Day), Mon (Month)') booktown-# AS abbreviations, booktown-# to_char('yesterday'::timestamp, 'FMMonth FMDDth') booktown-# AS yesterday. booktown-# to_char('yesterday':itimestamp, 'FMDDth FMMonth') booktown-# AS "yesterday UK"; abbreviations | yesterday j yesterday UK Sat (Saturday). Sep (September) | August 31st | 31st August (1 row) booktown=# SELECT isbn, booktown-# to_char(publication, 'FMMonth FMDDth, YYYY') booktown-# AS informal, booktown-# to_char(publication, 'YYYY-MM-DD') AS formal, booktown-# to_char(publication. 'Y.YYY "years" A.D.') booktown-# AS firstj)ublished booktown-# FROM editions LIMIT 3; isbn | informal | formal first_pub1ished 039480001X | March 1st. 1957 1957-03-01 1.957 years A.O. 0451160916 | August 1st. 1981 | 1981-08-01 | 1.981 years A.D. 0394800753 | March 1st. 1949 | 1949-03-01 | 1.949 years A.D. (3 rows)
to date()
Синтаксис:
to_date(s .f)
Функция to_date() получает два аргумента типа text. Аргумент f описывает формат даты, представленной строкой s, и содержит метасимволы из табл. 5.15. Результат возвращается в виде значения типа date.
В PostgreSQL поддерживается много распространенных форматов данных, однако предусмотреть все форматы невозможно. Функция to_date() гарантирует, что практически любой формат даты, описываемый метасимволами из табл. 5.14, может быть преобразован в значение типа date.
Пример:
booktown=# SELECT date('198025thJune') booktown-f AS non_standard_date_format, booktown – # toJate (' 198025thJune', ' YYYYDDthMonth') booktown-# AS correct_interpretation; non_standard_date_format correct_interpretation 2025-08-27 | 1980-06-25 (1 row)