56.1 DIFF Function
This function computes the difference between tables of lines. The implementation uses the default version of the longest common subexpression algorithm, without any optimizations. The DIFF function is not intended for very large inputs. The output is similar to the unified diff
format.
Syntax
APEX_STRING_UTIL.FUNCTION DIFF (
p_left IN apex_t_varchar2,
p_right IN apex_t_varchar2,
p_context IN PLS_INTEGER DEFAULT 3 )
RETURN apex_t_varchar2;
Parameters
Parameter | Description |
---|---|
p_left |
The lines in the "left" table. |
p_right |
The lines in the "right" table. |
p_context |
The number of same lines after each diff to also return (default 3). |
Returns
A table of varchar2, where the first character denotes the type of diff:
@
- Line numbers on left and right hand side.- "
-
- Line is in left hand side, but not in right hand side.+
- Line is in right hand side, but not in left hand side.
Example
This example computes the diff between the given tables.
select apex_string_util.diff (
p_left => apex_t_varchar2('how','now','brown','cow'),
p_right => apex_t_varchar2('what','now','brown','cow',1,2,3) )
from sys.dual;
-> apex_t_varchar2 (
'@@ 1,0 @@',
'-how',
'@@ 1,1 @@',
'+what',
' now',
' brown',
' cow',
'@@ 4,5 @@',
'+1',
'+2',
'+3' )
Parent topic: APEX_STRING_UTIL