A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.postgresql.org/docs/8.0/static/functions-formatting.html below:

PostgreSQL: Documentation: 8.0: Data Type Formatting Functions

This documentation is for an unsupported version of PostgreSQL.

You may want to view the same page for the

current

version, or one of the other supported versions listed above instead.

9.8. Data Type Formatting Functions

The PostgreSQL formatting functions provide a powerful set of tools for converting various data types (date/time, integer, floating point, numeric) to formatted strings and for converting from formatted strings to specific data types. Table 9-20 lists them. These functions all follow a common calling convention: the first argument is the value to be formatted and the second argument is a template that defines the output or input format.

Table 9-20. Formatting Functions

Function Return Type Description Example to_char(timestamp, text) text convert time stamp to string to_char(current_timestamp, 'HH12:MI:SS') to_char(interval, text) text convert interval to string to_char(interval '15h 2m 12s', 'HH24:MI:SS') to_char(int, text) text convert integer to string to_char(125, '999') to_char(double precision, text) text convert real/double precision to string to_char(125.8::real, '999D9') to_char(numeric, text) text convert numeric to string to_char(-125.8, '999D99S') to_date(text, text) date convert string to date to_date('05 Dec 2000', 'DD Mon YYYY') to_timestamp(text, text) timestamp with time zone convert string to time stamp to_timestamp('05 Dec 2000', 'DD Mon YYYY') to_number(text, text) numeric convert string to numeric to_number('12,454.8-', '99G999D9S')

Warning: to_char(interval, text) is deprecated and should not be used in newly-written code. It will be removed in the next version.

In an output template string (for to_char), there are certain patterns that are recognized and replaced with appropriately-formatted data from the value to be formatted. Any text that is not a template pattern is simply copied verbatim. Similarly, in an input template string (for anything but to_char), template patterns identify the parts of the input data string to be looked at and the values to be found there.

Table 9-21 shows the template patterns available for formatting date and time values.

Table 9-21. Template Patterns for Date/Time Formatting

Pattern Description HH hour of day (01-12) HH12 hour of day (01-12) HH24 hour of day (00-23) MI minute (00-59) SS second (00-59) MS millisecond (000-999) US microsecond (000000-999999) SSSS seconds past midnight (0-86399) AM or A.M. or PM or P.M. meridian indicator (uppercase) am or a.m. or pm or p.m. meridian indicator (lowercase) Y,YYY year (4 and more digits) with comma YYYY year (4 and more digits) YYY last 3 digits of year YY last 2 digits of year Y last digit of year IYYY ISO year (4 and more digits) IYY last 3 digits of ISO year IY last 2 digits of ISO year I last digits of ISO year BC or B.C. or AD or A.D. era indicator (uppercase) bc or b.c. or ad or a.d. era indicator (lowercase) MONTH full uppercase month name (blank-padded to 9 chars) Month full mixed-case month name (blank-padded to 9 chars) month full lowercase month name (blank-padded to 9 chars) MON abbreviated uppercase month name (3 chars) Mon abbreviated mixed-case month name (3 chars) mon abbreviated lowercase month name (3 chars) MM month number (01-12) DAY full uppercase day name (blank-padded to 9 chars) Day full mixed-case day name (blank-padded to 9 chars) day full lowercase day name (blank-padded to 9 chars) DY abbreviated uppercase day name (3 chars) Dy abbreviated mixed-case day name (3 chars) dy abbreviated lowercase day name (3 chars) DDD day of year (001-366) DD day of month (01-31) D day of week (1-7; Sunday is 1) W week of month (1-5) (The first week starts on the first day of the month.) WW week number of year (1-53) (The first week starts on the first day of the year.) IW ISO week number of year (The first Thursday of the new year is in week 1.) CC century (2 digits) J Julian Day (days since January 1, 4712 BC) Q quarter RM month in Roman numerals (I-XII; I=January) (uppercase) rm month in Roman numerals (i-xii; i=January) (lowercase) TZ time-zone name (uppercase) tz time-zone name (lowercase)

Certain modifiers may be applied to any template pattern to alter its behavior. For example, FMMonth is the Month pattern with the FM modifier. Table 9-22 shows the modifier patterns for date/time formatting.

Table 9-22. Template Pattern Modifiers for Date/Time Formatting

Modifier Description Example FM prefix fill mode (suppress padding blanks and zeroes) FMMonth TH suffix uppercase ordinal number suffix DDTH th suffix lowercase ordinal number suffix DDth FX prefix fixed format global option (see usage notes) FX Month DD Day SP suffix spell mode (not yet implemented) DDSP

Usage notes for date/time formatting:

Table 9-23 shows the template patterns available for formatting numeric values.

Table 9-23. Template Patterns for Numeric Formatting

Pattern Description 9 value with the specified number of digits 0 value with leading zeros . (period) decimal point , (comma) group (thousand) separator PR negative value in angle brackets S sign anchored to number (uses locale) L currency symbol (uses locale) D decimal point (uses locale) G group separator (uses locale) MI minus sign in specified position (if number < 0) PL plus sign in specified position (if number > 0) SG plus/minus sign in specified position RN roman numeral (input between 1 and 3999) TH or th ordinal number suffix V shift specified number of digits (see notes) EEEE scientific notation (not implemented yet)

Usage notes for numeric formatting:

Table 9-24 shows some examples of the use of the to_char function.

Table 9-24. to_char Examples

Expression Result to_char(current_timestamp, 'Day, DD  HH12:MI:SS') 'Tuesday  , 06  05:39:18' to_char(current_timestamp, 'FMDay, FMDD  HH12:MI:SS') 'Tuesday, 6  05:39:18' to_char(-0.1, '99.99') '  -.10' to_char(-0.1, 'FM9.99') '-.1' to_char(0.1, '0.9') ' 0.1' to_char(12, '9990999.9') '    0012.0' to_char(12, 'FM9990999.9') '0012.' to_char(485, '999') ' 485' to_char(-485, '999') '-485' to_char(485, '9 9 9') ' 4 8 5' to_char(1485, '9,999') ' 1,485' to_char(1485, '9G999') ' 1 485' to_char(148.5, '999.999') ' 148.500' to_char(148.5, 'FM999.999') '148.5' to_char(148.5, 'FM999.990') '148.500' to_char(148.5, '999D999') ' 148,500' to_char(3148.5, '9G999D999') ' 3 148,500' to_char(-485, '999S') '485-' to_char(-485, '999MI') '485-' to_char(485, '999MI') '485 ' to_char(485, 'FM999MI') '485' to_char(485, 'PL999') '+485' to_char(485, 'SG999') '+485' to_char(-485, 'SG999') '-485' to_char(-485, '9SG99') '4-85' to_char(-485, '999PR') '<485>' to_char(485, 'L999') 'DM 485 to_char(485, 'RN') '        CDLXXXV' to_char(485, 'FMRN') 'CDLXXXV' to_char(5.2, 'FMRN') 'V' to_char(482, '999th') ' 482nd' to_char(485, '"Good number:"999') 'Good number: 485' to_char(485.8, '"Pre:"999" Post:" .999') 'Pre: 485 Post: .800' to_char(12, '99V999') ' 12000' to_char(12.4, '99V999') ' 12400' to_char(12.45, '99V9') ' 125'

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4