Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
dev:sql:functions:calc_date [2009/12/18 15:22]
tdo
dev:sql:functions:calc_date [2010/07/27 17:43]
els
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: $CALC_DATE ====== 
 {{page>:​sql_bar&​nofooter&​noeditbtn}} {{page>:​sql_bar&​nofooter&​noeditbtn}}
 +====== Omnidex SQL Function: $CALC_DATE ======
 ===== Description ===== ===== Description =====
 +The $CALC_DATE function performs arithmetic on a date expression, returning a new date value. ​ The arithmetic is performed using the units declared in the function, or using DAYS if not specified.
  
-$CALC_DATE calculates a new date from a specified date or column_date using a numeric positive or negative offset. ​ The offset defaults to days but can be changed by using the date_unit optional argument.+This function returns ​the same datatype as the passed date expression.
  
 ===== Syntax ===== ===== Syntax =====
  
-Result = $calc_date<​date_column | '​date_string'​ >offset ​[, date_unit [, options]) +  ​$CALC_DATEdate_expressionnumeric_expression ​[ , date_token ​] )
-  +
-Returns a floating point value.+
  
-===== Discussion ===== +== date_expression ​==
-== <​date_column_spec | '​date_string'​ > == +
-An expression resulting in date-class or string-class datatype.+
  
-  +Required. Any expression ​that returns ​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]]. ​
-== value_expression == +
-An expression ​resulting in numeric-class ​(integer ​or floating point) value.  ​+
  
-Negative values supported. +== numeric_expression ​==
-== date_unit ​==+
  
-A string containing unit abbreviation ​that tell the $calc_date function to add or subtract ​the number ​of date_units.+Required. Any expression ​that returns a numeric-class datatype. Examples of numeric expressions are columns, functions ​or expressions that return a numeric-class datatype. ​ The numeric datatypes are found in the list of [[dev:​appendix:​reference:​datatypes|Omnidex datatypes]]
  
-Valid datefield Options: +If this function is to return a date in the futurethe numeric expression should return a positive value. ​ If this function is to return a date in the pastthe numeric expression should return a negative value. 
-^ Date_field ^ Description ^ + 
-| YEAR | Year | +== date_token == 
-| MONTH | Month | + 
-| DAY | Day | +Optional. One of the following tokens representing the unit for the date arithmetic. 
-| HOUR | Hour | + 
-| MINUTE | Minute | +{{page>​dev:​appendix:​reference:​date_tokens_insert&​noheader&​nofooter&​noeditbtn}} 
-| SECOND | Second | + 
-| W | Day of the week number (1-Sunday2-Monday) |  + 
-| WW | Three-character day-of-week abbreviation (SunMon) | +== date_column == 
-| WWW | Fully spelled day-of-week (Sunday, Monday) |  + 
-| M | Non-zero-filled month number (1-January, 2-February) |  +Required. A column that is declared as 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]]. ​
-| 0M | Zero-filled day-of-month number (01-January,​ 02-February) |  +
-| MM | Three-character month abbreviation (Jan, Feb) | +
-| MMM | Fully spelled month (January, February) | +
-| D | Non-zero-filled day-of-month (1, 2, 3) | +
-| 0D | Zero-filled day-of-month (01, 02, 03) | +
-| J | Non-zero-filled Julian ​date (1, 2) | +
-| 0J | Zero-filled Julian date (01, 02) | +
-| YY | Two-digit year (99, 00) | +
-| YYYY | Four-digit year (1999, 2000) |  +
-| 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) | +
-| N | Non-zero-filled minute ​of hour (1, 2) | +
-| 0N | Zero-filled minute of hour (01, 02) | +
-| S | Non-zero-filled second of minute (1, 2) |  +
-| 0S | Zero-filled second of minute (01, 02) | +
-| F | Non-zero-filled fraction of a second (1, 2) |  +
-| 0F | Zero-filled fraction of a second (01, 02) | +
-| A | Lowercase am/pm indicator | +
-| AA | Uppercase AM/PM indicator ​|+
  
  
-== Options == 
-There are no options currently for this function. 
-  
 ===== Example ===== ===== Example =====
-==== Example 1 ====+==== Example 1: $CALC_DATE adding 18 years ==== 
 <​code>​ <​code>​
-> select $calc_date('​20090101', -5) from $omnidex+> select ​birthdate, ​$calc_date(birthdate, 18, 'YY'​) ​bday_plus_18 ​from individuals;​
  
-$CALC_DATE('​20090101',​ +BIRTHDATE ​    ​BDAY_PLUS_18 
----------------------- +------------  ​------------ 
-            2008-12-27+  ​1938-07-14 ​   1956-07-14 
 +  1957-11-22 ​   1975-11-22 
 +  1960-07-28 ​   1978-07-28 
 +  1929-08-22 ​   1947-08-22 
 +  1933-07-09 ​   1951-07-09 
 +  1944-08-01 ​   1962-08-01 
 +  2004-09-14 ​   2022-09-14
 </​code>​ </​code>​
-==== Example 2 ==== 
-<​code>​ 
-> select $calc_date('​20090101',​ -5,YEAR) from $omnidex 
  
-$CALC_DATE('​20090101',​ +====== Additional Resources ====== 
----------------------- + 
-            ​2004-01-01+See also: 
 +{{page>​dev:​sql:​functions:​see_also_dates&​noheader&​nofooter&​noeditbtn}}
  
-</​code>​ 
 {{page>:​bottom_add&​nofooter&​noeditbtn}} {{page>:​bottom_add&​nofooter&​noeditbtn}}
 +
 
Back to top
dev/sql/functions/calc_date.txt · Last modified: 2016/06/28 22:38 (external edit)