This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:sql:functions:extract [2010/07/02 08:53] tdo |
dev:sql:functions:extract [2016/06/28 22:38] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
{{page>:top_add&nofooter&noeditbtn}} | {{page>:top_add&nofooter&noeditbtn}} | ||
- | <html><div align="center"><span style="color:red">DRAFT</span></div></html> | ||
- | ====== Omnidex SQL Function: EXTRACT ====== | ||
{{page>:sql_bar&nofooter&noeditbtn}} | {{page>:sql_bar&nofooter&noeditbtn}} | ||
+ | ====== Omnidex SQL Function: EXTRACT ====== | ||
===== Description ===== | ===== Description ===== | ||
- | The EXTRACT function extracts an individual field value from a specified date_class data type. | + | The EXTRACT function extracts one or more portions of a date, such as a day, month or year. This is useful for performing logic on portions of a date, such as performing certain actions in certain months. This is also useful for assembling a date string in a specific format. |
+ | |||
+ | This function returns a different datatype based on the requested field value. | ||
===== Syntax ===== | ===== Syntax ===== | ||
- | EXTRACT(date_unit FROM date_column) | ||
- | == date_unit == | + | EXTRACT(date_tokens FROM date_expression) |
- | Required. The date part that is to be extracted. See below for a complete list of date parts that can be used in this parameter. Click to see a list of valid datefield options. | + | |
- | Valid datefield options: | + | == date_tokens == |
- | Valid date_unit options: | + | |
- | ^ Date_unit ^ Description ^ | + | |
- | | YEAR | Year | | + | |
- | | MONTH | Month | | + | |
- | | DAY | Day | | + | |
- | | HOUR | Hour | | + | |
- | | MINUTE | Minute | | + | |
- | | SECOND | Second | | + | |
- | | A | Lowercase am/pm indicator | | + | |
- | | AA | Uppercase AM/PM indicator | | + | |
- | | D | Non-zero-filled day-of-month (1, 2, 3) | | + | |
- | | 0D | Zero-filled day-of-month (01, 02, 03) | | + | |
- | | DD | Day of year (44) | | + | |
- | | 0DD | Zero-filled day of year (044) | | + | |
- | | F | Non-zero-filled fraction of a second (1, 2) | | + | |
- | | 0F | Zero-filled fraction of a second (01, 02) | | + | |
- | | H | 12-hour, non-zero-filled hour of day (12, 1) | | + | |
- | | 0H | 12-hour, zero-filled hour of day (12, 01) | | + | |
- | | HH | 24-hour, non-zero-filled hour of day (24, 1) | | + | |
- | | 0HH | 24-hour, zero-filled hour of day (24, 01) | | + | |
- | | J | Non-zero-filled Julian date (1, 2) | | + | |
- | | 0J | Zero-filled Julian date (01, 02) | | + | |
- | | M | Non-zero-filled month number (1-January, 2-February) | | + | |
- | | 0M | Zero-filled day-of-month number (01-January, 02-February) | | + | |
- | | MM | Three-character month abbreviation (Jan, Feb) | | + | |
- | | MMM | Fully spelled month (January, February) | | + | |
- | | N | Non-zero-filled minute of hour (1, 2) | | + | |
- | | 0N | Zero-filled minute of hour (01, 02) | | + | |
- | | Q | Quarter of the year (1) | | + | |
- | | QQ | Quarter of the year abbreviation (Q1) | | + | |
- | | QQQ | Quarter of the year name (First Quarter) | | + | |
- | | S | Non-zero-filled second of minute (1, 2) | | + | |
- | | 0S | Zero-filled second of minute (01, 02) | | + | |
- | | W | Day of the week number (1-Sunday, 2-Monday) | | + | |
- | | WW | Three-character day-of-week abbreviation (Sun, Mon) | | + | |
- | | WWW | Fully spelled day-of-week (Sunday, Monday) | | + | |
- | | YY | Two-digit year (99, 00) | | + | |
- | | YYYY | Four-digit year (1999, 2000) | | + | |
- | == FROM == | + | Required. One or more tokens representing the portions of date to be extracted, as determined by one or more of the strings shown in the table below. //Date_tokens// may also contain punctuation marks to create simple format string for dates, as shown in the examples below. When punctuation marks are used, //date_tokens// should be enclosed in single quotes. |
- | Required. | + | |
- | == date == | + | {{page>dev:appendix:reference:date_tokens_insert&noheader&nofooter&noeditbtn}} |
- | Required. A date formatted as any valid SQL92 date_class data type. | + | |
+ | |||
+ | == date_expression == | ||
+ | |||
+ | Required. Any expression that returns a date-class datatype. Examples of date expressions are columns or functions that return a date-class datatype. The date_class datatypes are any of the date or time oriented datatypes found in the list of [[dev:appendix:reference:datatypes|Omnidex datatypes]]. | ||
- | If the original date is an OMNIDEX DATE or OMNIDEX DATETIME column, the return data type is C STRING length 32. | ||
===== Example ===== | ===== Example ===== | ||
- | ==== Example 1 ==== | + | ==== Example 1: EXTRACT of MONTH ==== |
- | <code SQL> | + | |
- | select status, | + | |
- | extract(mmm FROM orders.order_date) | + | |
- | from orders | + | |
- | where product_no='PRN4356' | + | |
- | ORDR JANUARY | + | <code> |
- | ORDR DECEMBER | + | > select birthdate, extract(month from birthdate) mon from individuals; |
- | CNCL MARCH | + | |
+ | BIRTHDATE MON | ||
+ | ------------ ----------- | ||
+ | 1938-07-14 7 | ||
+ | 1957-11-22 11 | ||
+ | 1960-07-28 7 | ||
+ | 1929-08-22 8 | ||
+ | 1933-07-09 7 | ||
+ | 1944-08-01 8 | ||
+ | 2004-09-14 9 | ||
</code> | </code> | ||
+ | ==== Example 2: EXTRACT with format string ==== | ||
+ | |||
+ | <code> | ||
+ | > select birthdate, extract ('MMM D, YYYY' from birthdate) bday from individuals; | ||
+ | |||
+ | BIRTHDATE BDAY | ||
+ | ------------ ------------------- | ||
+ | 1938-07-14 July 14, 1938 | ||
+ | 1957-11-22 November 22, 1957 | ||
+ | 1960-07-28 July 28, 1960 | ||
+ | 1929-08-22 August 22, 1929 | ||
+ | 1933-07-09 July 9, 1933 | ||
+ | 1944-08-01 August 1, 1944 | ||
+ | 2004-09-14 September 14, 2004 | ||
+ | </code> | ||
+ | |||
+ | ====== Additional Resources ====== | ||
+ | |||
+ | See also: | ||
+ | {{page>dev:sql:functions:see_also_dates&noheader&nofooter&noeditbtn}} | ||
+ | |||
{{page>:bottom_add&nofooter&noeditbtn}} | {{page>:bottom_add&nofooter&noeditbtn}} |