This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
dev:sql:functions:substring [2009/12/05 00:40] tdo created |
dev:sql:functions:substring [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> | + | ====== Development: Omnidex SQL ====== |
- | ====== Omnidex SQL Function: SUBSTRING ====== | + | ===== SQL Functions: SUBSTRING ===== |
- | {{page>:sql_bar&nofooter&noeditbtn}} | + | ==== Description ==== |
- | ===== Description ===== | + | The SUBSTRING function returns a new character string that is a portion of another character expression. The new string begins at the specified starting point in the original expression and extends the number of characters specified in the length parameter. If the length parameter is omitted, the new string extends to the end of the original string. |
- | The SUBSTRING function returns a new character string that is a substring of another string. The new string begins at the specified starting point in the original string (string1) and extends the number of characters specified in the length parameter. If the length parameter is omitted, the new string extends to the end of the original string. | + | |
- | The return data type is C STRING. | + | This function returns a STRING datatype. |
- | ===== Syntax ===== | + | |
- | SUBSTRING( <column_spec | 'string' FROM start_no [ FOR length ])) | + | |
- | == < column_spec | 'string' >== | + | ==== Syntax ==== |
+ | SUBSTRING( character_expression FROM numeric_expression [ FOR numeric_expression ] ) | ||
- | Required. This is the string that contains the characters that will be returned. | + | == character_expression == |
+ | Required. Any expression that returns a character-class datatype to be used as the substring target. Examples of expressions are columns, concatenations of columns, literal strings and functions that return a character datatype. | ||
- | == FROM == | + | == numeric_expression == |
- | The FROM keyword is required. | + | Any expression that returns a numeric_class datatype to be used as either the offset or the length. |
- | == start_no == | + | The FROM //numeric_expression// indicates the number of characters from the start of the //character_expression// to start the extraction of the partial string. |
- | Required. start is an integer indicating the position of the first character relative to 1 that will be returned. | + | ^ String| M | y | | s | t | r | i | n | g | |
+ | ^ Position| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | ||
- | == FOR length == | + | If the start_no was 4 in the string above, then 's' would be the first character of the returned substring. |
- | Optional. This indicates the number of characters after and including the start character, that will be returned. If omitted, all of the remaining characters after and including the start character will be returned. | + | ==== Example ==== |
- | ===== Example ===== | + | === Example 1: Substring of column === |
- | ==== Example 1 ==== | + | <code> |
- | <code SQL> | + | > select name, |
- | select product_no, | + | >> substring(phone from 2 for 3) area_code, |
- | SUBSTRING(PRODUCTS.PRODUCT_NO FROM 2 FOR 3) as Sub1, | + | >> substring(phone from 7 for 8) phone_number |
- | SUBSTRING(PRODUCTS.PRODUCT_NO FROM 5) as Sub2 | + | >> from individuals; |
- | from products | + | |
+ | NAME ARE PHONE_NU | ||
+ | -------------------------------------------------- --- -------- | ||
+ | MS. MARY LEWIS 203 318-1659 | ||
+ | MRS. ALICE R TOLLIVER | ||
+ | MR. SIDNEY K TOLLIVER | ||
+ | MRS. JENNIFER J HOPKINS 860 998-2013 | ||
+ | MR. CHARLIE HOPKINS | ||
+ | MS. KIMBERLY BLUE | ||
+ | KATHLEEN TUCKER | ||
</code> | </code> | ||
+ | === Example 2: Complex expression === | ||
+ | <code> | ||
+ | The following example removes the salutation from the name. | ||
+ | |||
+ | <code> | ||
+ | > select trim( | ||
+ | >> substring(NAME | ||
+ | >> from position('.' in NAME) + 1 | ||
+ | >> for $column_length(NAME) - position('.' in NAME))) nme | ||
+ | >> from INDIVIDUALS; | ||
+ | |||
+ | NME | ||
+ | -------------------------------------------------- | ||
+ | MARY LEWIS | ||
+ | ALICE R TOLLIVER | ||
+ | SIDNEY K TOLLIVER | ||
+ | JENNIFER J HOPKINS | ||
+ | CHARLIE HOPKINS | ||
+ | KIMBERLY BLUE | ||
+ | KATHLEEN TUCKER | ||
+ | </code> | ||
+ | ====== Additional Resources ====== | ||
+ | |||
+ | See also: | ||
+ | {{page>dev:sql:functions:see_also_string&nofooter&noeditbtn&noheader}} | ||
{{page>:bottom_add&nofooter&noeditbtn}} | {{page>:bottom_add&nofooter&noeditbtn}} | ||
+ | |||
+ | |||
+ |