FORMAT_DATE
The FORMAT_DATE function formats an input argument based on a format string. The output is a VARCHAR(255).
Syntax
FORMAT_DATE (input, format_string)
Remarks
| • | The input argument must be a DATE, TIME, or TIMESTAMP. |
| • | The format_string argument must be a string. |
| • | The format_string is not case-sensitive except as indicated in the following table, which also lists the format string types. |
| • | If input is a DATE, the format_string must not contain any TIME elements such as hour, minute, or seconds. |
| • | If input is a TIME, the format_string must not contain any DATE elements such as year, month, or day of month. |
| • | The output is a string representation of the DATE, TIME, or TIMESTAMP argument based on the format indicated by format_string. |
| • | If the output exceeds 255 characters, it is truncated. |
Note: Different data sources return results of FORMAT_DATE in different formats. To make sure TDV is formatting the date, put it in a CSV file and test it from that.
Any leading white space causes a parsing error. Tabs, newlines, the punctuation marks - / , . ; : and embedded or trailing white spaces are acceptable and are passed to the output. Enclose characters in single-quotes (for example, ‘quoted’) if you want them to be passed directly to the output. (The single-quotes are removed.) Use two single-quotes in a row to pass one single-quote to the output.
|
format_string |
Description |
|
fm |
Fill mode. If this is used at the start of format, excess zeroes are suppressed. |
|
yyyy |
4-digit year ('2006') |
|
yy |
2-digit year ('06') |
|
MONTH |
Full month name ('JULY'). |
|
MON |
Abbreviated month name ('JUL'). Case is matched. |
|
mm |
Numeric month ('07'; '7' if fill mode). |
|
DAY |
Name of day ('FRIDAY'). |
|
DY |
Abbreviated name of day ('FRI'). |
|
dd |
Day of month ('04'; '4' if fill mode). |
|
hh |
Hour in 12-hour format ('11'). |
|
hh24 |
Hour in 24-hour format ('23'). |
|
AM am |
Results are followed by AM or PM string. Case is matched. |
|
mi |
Minute ('59') |
|
ss |
Second ('59'). |
|
ff |
Fractional seconds to millisecond level ('790'; '79' if fill mode). |
Examples
FORMAT_DATE (DATE '2000-02-01', 'Mon mon MON Month month MONTH')
This results in: Feb feb FEB February february FEBRUARY.
FORMAT_DATE (DATE '2001-02-03', 'dd')
This results in: 03.
FORMAT_DATE (DATE '2001-02-03', 'fmdd')
This results in: 3.
FORMAT_DATE (TIME '23:59:01', 'hh hh24:mi:ss')
This results in: 11 23:59:01.