This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
dev:sql:functions:position [2009/12/05 00:34] tdo created |
dev:sql:functions:position [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: POSITION ====== | ||
| {{page>:sql_bar&nofooter&noeditbtn}} | {{page>:sql_bar&nofooter&noeditbtn}} | ||
| + | ====== Omnidex SQL Function: POSITION ====== | ||
| ===== Description ===== | ===== Description ===== | ||
| - | Find the position of string1 in string2. The POSITION function returns the position of a string (string1) within another string (string2). If string2 is of length zero, the result is 1. If string1 occurs as a substring within string2, the character position where string1 first occurs is returned. If neither of these conditions is true, the result is 0. The return data type is a 4-byte INTEGER. | + | The POSITION function finds the position of a search_string in a target_string. If the target_string is of length zero, the result is 1. If the search_string occurs as a substring within the target_string, the character position where the search_string first occurs is returned. If neither of these conditions is true, the result is 0. |
| + | |||
| + | String comparisons are case-sensitive. Use the UPPER and LOWER functions around the search_string and the target_string to produce a case-insensitive search. | ||
| + | |||
| + | This function returns an INTEGER datatype. | ||
| - | String comparisons are case-sensitive. Use the UPPER and LOWER functions around string1 and string2 to produce a case-insensitive search. | ||
| ===== Syntax ===== | ===== Syntax ===== | ||
| - | POSITION(string1 IN string2) | ||
| - | == string1 == | + | POSITION( search_expression IN target_expression) |
| - | Required. Any valid text string. The text to search for. | + | |
| - | == IN == | + | == search_expression === |
| - | Required. | + | |
| + | Any expression that returns a character-class datatype to be used as the search criteria. Examples of expressions are columns, concatenations of columns, literal strings and functions that return a character datatype. | ||
| + | |||
| + | == target_expression == | ||
| + | |||
| + | Any expression that returns a character-class datatype to be used as the search target. Examples of expressions are columns, concatenations of columns, literal strings and functions that return a character datatype. | ||
| - | == string2 == | ||
| - | Required. Any valid text string. The text in which to search for string1. | ||
| ===== Example ===== | ===== Example ===== | ||
| - | ==== Example 1 ==== | + | ==== Example 1: Column ==== |
| - | <code SQL> | + | |
| - | select company, | + | |
| - | position(upper('sys') IN upper(customers.company)) | + | |
| - | from customers where company='systems' | + | |
| - | Company Position | + | <code> |
| - | -------- --------------- | + | > select name, position('.' in name) pos from individuals; |
| - | Camco Systems 7 | + | |
| - | SoftSys Corp 5 | + | NAME POS |
| + | -------------------------------------------------- ----------- | ||
| + | MS. MARY LEWIS 3 | ||
| + | MRS. ALICE R TOLLIVER 4 | ||
| + | MR. SIDNEY K TOLLIVER 3 | ||
| + | MRS. JENNIFER J HOPKINS 4 | ||
| + | MR. CHARLIE HOPKINS 3 | ||
| + | MS. KIMBERLY BLUE 3 | ||
| + | KATHLEEN TUCKER 0 | ||
| </code> | </code> | ||
| + | |||
| + | ==== Example 2: Complex expression ==== | ||
| + | |||
| + | 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}} | ||