How to Split the Value In Oracle?

8 minutes read

In Oracle, you can split a value using the SUBSTR function. This function allows you to extract a portion of a string based on a specified starting position and length. For example, if you have a string 'HelloWorld' and you want to extract the first 5 characters, you would use the SUBSTR function like this:


SELECT SUBSTR('HelloWorld', 1, 5) FROM dual;


This SQL query would return 'Hello', which is the first 5 characters of the original string. You can also use other string manipulation functions in Oracle, such as INSTR and REPLACE, to further split and manipulate values as needed.

Best Oracle Books to Read of October 2024

1
Oracle PL/SQL by Example (The Oracle Press Database and Data Science)

Rating is 5 out of 5

Oracle PL/SQL by Example (The Oracle Press Database and Data Science)

2
Oracle Database 12c DBA Handbook (Oracle Press)

Rating is 4.9 out of 5

Oracle Database 12c DBA Handbook (Oracle Press)

3
Oracle Database Administration: The Essential Refe: A Quick Reference for the Oracle DBA

Rating is 4.8 out of 5

Oracle Database Administration: The Essential Refe: A Quick Reference for the Oracle DBA

4
Oracle DBA Mentor: Succeeding as an Oracle Database Administrator

Rating is 4.7 out of 5

Oracle DBA Mentor: Succeeding as an Oracle Database Administrator

5
OCA Oracle Database SQL Exam Guide (Exam 1Z0-071) (Oracle Press)

Rating is 4.6 out of 5

OCA Oracle Database SQL Exam Guide (Exam 1Z0-071) (Oracle Press)

6
Oracle Database 12c SQL

Rating is 4.5 out of 5

Oracle Database 12c SQL

7
Oracle Autonomous Database in Enterprise Architecture: Utilize Oracle Cloud Infrastructure Autonomous Databases for better consolidation, automation, and security

Rating is 4.4 out of 5

Oracle Autonomous Database in Enterprise Architecture: Utilize Oracle Cloud Infrastructure Autonomous Databases for better consolidation, automation, and security


How to split a string into words in Oracle?

In Oracle, you can split a string into words by using the SQL REGEXP_SUBSTR function along with regular expressions.


Here is an example query that splits a string into words:

1
2
3
4
5
6
7
8
WITH data AS (
  SELECT 'Hello World, This is a test' AS sentence FROM dual
)
SELECT REGEXP_SUBSTR(sentence, '\w+', 1, LEVEL) AS word
FROM data
CONNECT BY REGEXP_SUBSTR(sentence, '\w+', 1, LEVEL) IS NOT NULL
AND PRIOR sentence = sentence
AND PRIOR sys_guid() IS NOT NULL;


In this query:

  • We first define a Common Table Expression (CTE) called data that contains the input string 'Hello World, This is a test'.
  • We then select each word from the input string using the REGEXP_SUBSTR function with the regular expression \w+, which matches one or more word characters.
  • The CONNECT BY clause is used to generate rows based on the level of recursion until the regular expression no longer matches any more words.
  • The result will be a list of words extracted from the input string.


How to split a string into decimal values in Oracle?

To split a string into decimal values in Oracle, you can use the REGEXP_SUBSTR function to extract the numbers from the string. Here is an example query that demonstrates how to split a string into decimal values:

1
2
3
4
5
6
WITH data AS (
  SELECT '123.45, 67.89, 100.0' AS str FROM dual
)
SELECT REGEXP_SUBSTR(str, '\d+(\.\d+)?', 1, level) AS decimal_value
FROM data
CONNECT BY REGEXP_SUBSTR(str, '\d+(\.\d+)?', 1, level) IS NOT NULL


In this query, the REGEXP_SUBSTR function is used to extract decimal values from the input string '123.45, 67.89, 100.0'. The regular expression '\d+(.\d+)?' matches one or more digits followed by an optional decimal point and one or more digits. The CONNECT BY clause is used to generate rows for each decimal value found in the string.


The output of this query will be:

1
2
3
4
DECIMAL_VALUE
123.45
67.89
100.0


You can modify the input string and regular expression pattern to extract decimal values from different types of strings in Oracle.


How to split a string into hex values in Oracle?

You can split a string into hex values in Oracle by using the HEXTORAW function to convert each character into its hex representation. Here's an example of how you can achieve this:

1
2
3
SELECT SUBSTR(HEX(HEXTORAW('your_string')), (LEVEL - 1) * 2 + 1, 2) AS hex_value
FROM DUAL
CONNECT BY LEVEL <= LENGTH('your_string') / 2;


Replace 'your_string' with the string that you want to split into hex values. This query will output each pair of hex characters as individual rows.


How to split a string into separate variables in Oracle?

To split a string into separate variables in Oracle, you can use the SUBSTR() function to extract substrings from the original string based on a specific delimiter.


Here is an example of how to split a string into separate variables using the delimiter ',' (comma):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
DECLARE
  v_string VARCHAR2(100) := 'John,Doe,30';
  v_first_name VARCHAR2(50);
  v_last_name VARCHAR2(50);
  v_age NUMBER;
BEGIN
  v_first_name := SUBSTR(v_string, 1, INSTR(v_string, ',')-1);
  v_string := SUBSTR(v_string, INSTR(v_string, ',')+1);
  
  v_last_name := SUBSTR(v_string, 1, INSTR(v_string, ',')-1);
  v_string := SUBSTR(v_string, INSTR(v_string, ',')+1);
  
  v_age := TO_NUMBER(v_string);

  DBMS_OUTPUT.PUT_LINE('First Name: ' || v_first_name);
  DBMS_OUTPUT.PUT_LINE('Last Name: ' || v_last_name);
  DBMS_OUTPUT.PUT_LINE('Age: ' || v_age);
END;
/


In this example, the v_string variable contains the original string 'John,Doe,30'. We extract the first name, last name, and age from the string using the SUBSTR() function and store them in separate variables v_first_name, v_last_name, and v_age.


Finally, we display the extracted variables using the DBMS_OUTPUT.PUT_LINE() function.

Facebook Twitter LinkedIn Telegram

Related Posts:

To split a string with a comma in JavaScript, you can use the split() method. This method splits a string into an array of substrings based on a specified separator.Here is an example of how you can split a string with a comma: var string = &#34;apple,banana,g...
To split a column value in Oracle SQL, you can use the SUBSTR function to extract the desired substring from the original column value. You can specify the starting position and the length of the substring to be extracted. Alternatively, you can use the INSTR ...
In Oracle, the equivalent of SQL Profiler is a tool called Oracle Trace or Oracle Trace File Analyzer (TFA). This tool allows users to capture and analyze SQL statements and other activities happening in an Oracle database. It provides detailed information abo...