This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:sql:functions:position [2010/07/02 08:18] tdo |
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( <column_spec | 'string1' | function > IN < column_spec | 'string2' | function > ) | ||
- | == search_string === | + | POSITION( search_expression IN target_expression) |
- | . Any column_spec or valid text string or expression such as a function. The text to search for. | + | |
- | == IN == | + | == search_expression === |
- | Required. | + | |
- | == target == | + | 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. |
- | Required. Any column_spec or valid text string. The text in which to search for the occurance of the search_string. | + | |
+ | == 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. | ||
===== 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}} |