Трябва да проверите за подниз, заобиколен от разделителите:
SELECT PROFILEID
FROM WA_BT_TBL_PROFILE P
WHERE ', ' || P.ALLOWED_IP_ADDRESS || ', ' LIKE '%, 192.168.183.28, %';
По-добър начин обаче би бил да промените таблицата на базата данни, така че да не съхранявате множество елементи в една стойност:
CREATE TABLE Allowed_IP_Addresses(
PROFILEID VARCHAR2(20)
CONSTRAINT AllowIP__ProfileID__FK REFERENCES WA_BT_TBL_PROFILE( PROFILEID ),
CLASSA NUMBER(3,0),
CLASSB NUMBER(3,0),
CLASSC NUMBER(3,0),
CLASSD NUMBER(3,0),
IP_ADDRESS VARCHAR2(15)
GENERATED ALWAYS AS (CLASSA||'.'||CLASSB||'.'||CLASSC||'.'||CLASSD) VIRTUAL,
CONSTRAINT AllowIP__P_A_B_C_D__PK PRIMARY KEY ( PROFILEID, CLASSA, CLASSB, CLASSC, CLASSD )
);
След това можете да съхранявате стойностите поотделно (и лесно да търсите диапазони на подмрежи) и да ги присъедините към таблицата с профили, ако е необходимо.