I have a table E_TRAPLC_N with below values in ADDRESS column
NARROW WATER CASTLE E
NARROW WATER CASTLE B
NARROW WATER CASTLE C
NARROW WATER CASTLE A
NARROW WATER CASTLE A
NARROW WATER CASTLE D
I am using CONTAINS operator for searching words. When I use below queries
SELECT ADDRESS FROM E_TRAPLC_N A
WHERE contains (ADDRESS, UPPER ('NARROW WATER CASTLE D')) > 0;
SELECT ADDRESS FROM E_TRAPLC_N A
WHERE contains (ADDRESS, UPPER ('NARROW WATER CASTLE A')) > 0;
It returns all rows
NARROW WATER CASTLE E
NARROW WATER CASTLE B
NARROW WATER CASTLE C
NARROW WATER CASTLE A
NARROW WATER CASTLE A
NARROW WATER CASTLE D
But this
SELECT ADDRESS FROM E_TRAPLC_N A
WHERE contains (ADDRESS, UPPER ('NARROW WATER CASTLE B')) > 0;
returns only
NARROW WATER CASTLE B
and
SELECT ADDRESS FROM E_TRAPLC_N A
WHERE contains (ADDRESS, UPPER ('NARROW WATER CASTLE C')) > 0;
returns only
NARROW WATER CASTLE C
and so on
SELECT ADDRESS FROM E_TRAPLC_N A
WHERE contains (ADDRESS, UPPER ('NARROW WATER CASTLE E')) > 0;
returns only
NARROW WATER CASTLE E
Why is that when I use contains (ADDRESS, UPPER ('NARROW WATER CASTLE A')) > 0 (or) contains (ADDRESS, UPPER ('NARROW WATER CASTLE D')) > 0 is returning all rows instead of respective rows?