today:
108
yesterday:
179
Total:
1,001,204

SQL INSTR

admin 2016.05.19 14:54 Views : 785

INSTR

Syntax

Description of instr.gif follows
Description of the illustration instr.gif

Purpose

The INSTR functions search string for substring. The function returns an integer indicating the position of the character in string that is the first character of this occurrence. INSTR calculates strings using characters as defined by the input character set. INSTRB uses bytes instead of characters. INSTRC uses Unicode complete characters. INSTR2 uses UCS2 code points. INSTR4 uses UCS4 code points.

  • position is an nonzero integer indicating the character of string where Oracle Database begins the search. If position is negative, then Oracle counts backward from the end of string and then searches backward from the resulting position.

  • occurrence is an integer indicating which occurrence of string Oracle should search for. The value of occurrence must be positive.

Both string and substring can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The value returned is of NUMBER datatype.

Both position and occurrence must be of datatype NUMBER, or any datatype that can be implicitly converted to NUMBER, and must resolve to an integer. The default values of both position and occurrence are 1, meaning Oracle begins searching at the first character of string for the first occurrence of substring. The return value is relative to the beginning of string, regardless of the value of position, and is expressed in characters. If the search is unsuccessful (if substring does not appear occurrence times after the position character of string), then the return value is 0.

See Also:

Table 2-10, "Implicit Type Conversion Matrix" for more information on implicit conversion

Examples

The following example searches the string CORPORATE FLOOR, beginning with the third character, for the string "OR". It returns the position in CORPORATE FLOOR at which the second occurrence of "OR" begins:

SELECT INSTR('CORPORATE FLOOR','OR', 3, 2)
  "Instring" FROM DUAL;
 
  Instring
----------
        14

In the next example, Oracle counts backward from the last character to the third character from the end, which is the first O in FLOOR. Oracle then searches backward for the second occurrence of OR, and finds that this second occurrence begins with the second character in the search string :

SELECT INSTR('CORPORATE FLOOR','OR', -3, 2)
"Reversed Instring"
     FROM DUAL;
 
Reversed Instring
-----------------
               2

The next example assumes a double-byte database character set.

SELECT INSTRB('CORPORATE FLOOR','OR',5,2) "Instring in bytes"
   FROM DUAL;

Instring in bytes
-----------------
               27
No. Subject Author Date Views
46 Oracle APEX 5.1.4 Installation admin 2018.04.17 132
45 HEAD TITLE (제목)을 조건에 따라 바꾸기 admin 2016.05.03 132
44 Column Data 일괄 추가 admin 2023.11.24 129
43 Global & Custom Serach file admin 2016.04.28 127
42 LIST OF VALUE (DYNAMIC) admin 2016.04.28 126
41 What Is ERP? admin 2018.02.14 121
40 test admin 2016.05.11 121
39 Oracle SQL Developer: Online Migration 3.1 admin 2018.04.25 120
38 How to Install Oracle 11g on Windows 10 - 64 bit | Download / Install Oracle 11g Database file admin 2022.03.17 120
37 Interactive Report admin 2016.05.07 116
36 Display Value, Return Value admin 2016.05.10 115
35 LAST DAY SQL admin 2024.01.19 114
34 Null Display Value admin 2024.01.10 111
33 QR-CODE admin 2017.11.30 111
32 APEX ADMIN PASSWORD 바꾸기 admin 2016.05.02 108
31 SQL DEVELOPER file admin 2022.03.17 106
30 TEST admin 2023.03.27 97
29 SQL Basics - Lesson 1 - Introduction admin 2017.06.17 97
28 image (products) admin 2017.11.24 92
27 Material requirements planning (MRP) admin 2018.02.14 88