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:position [2009/12/05 00:35]
tdo
dev:sql:functions:position [2010/07/09 03:21]
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: 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 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 ​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'​ > IN < column_spec | '​string2'​ > ) 
  
-== string1 == +  POSITION( search_expression IN target_expression)
-Required. Any column_spec or valid text string. The text to search for.+
  
-== IN == +== search_expression ===
-Required.+
  
-== string2 ​== +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 string1.+ 
 +== 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>​
 +
 {{page>:​bottom_add&​nofooter&​noeditbtn}} {{page>:​bottom_add&​nofooter&​noeditbtn}}
 
Back to top
dev/sql/functions/position.txt · Last modified: 2016/06/28 22:38 (external edit)